用于system.time()用户时间提取的R代码

时间:2018-01-17 01:23:42

标签: r

我需要为数字1:N的factorial函数运行system.time循环,并将结果存储为具有2列数和用户时间的数据帧,以便使用递归和循环来监视阶乘函数实现的性能。 我能够在使用for循环中运行system.time(),但无法仅提取user.self的值。

例如

i<-system.time(fact(1000))

这给了我输出的东西

   user  system elapsed 
   0.006   0.000   0.006 

但是,我只想提取数值0.006并将其作为列值放在我的数据帧中,并带有相应的数字N(在本例中为1000)。

进一步提取给我用户数据以及字符串“user.self”,但我只想要0.006。

> i[1]
user.self 
    0.006 

数据框最终看起来有点像

   N      recursiveTime  loopTime
1  1000   0.06            0.003
2  1100   0.06            0.004    
3  1200   0.07            0.004

1 个答案:

答案 0 :(得分:0)

尝试使用双括号。

i[["elapsed"]]

i[["user.self"]]如果那就是你想要的,你要去哪一个?

或者,取名字:

avalue<-i[i]#your example with the name attached
names(avalue)=NULL; #now avalue is just a number again.