我运行了一个循环,结果保存在列表com
中。现在我必须调用每次迭代的结果(#iterations = 2000)并计算值的平均值如下:
l<-rbindlist(list(com[[1]], com[[2]], com[[3]],...com[[2000]]))[, .(values = mean(values)),
by = variables][order(variables)].
我是R的初学者。这样做的简单方法是什么?
答案 0 :(得分:0)
在您提供数据示例之前,这只会是猜测。我假设列表com
中的结果是数字向量。如果没有,此解决方案可能无效。
这是基础R
,而不是data.table
。
示例数据:
set.seed(1)
com <- list(rnorm(100), rnorm(100), rnorm(100), rnorm(100), rnorm(100))
我们使用do.call
:
l <- do.call("rbind", com)
现在我们使用矢量化rowMeans
:
rowMeans(l)
> rowMeans(l)
[1] 0.10888737 -0.03780808 0.02967354 0.05160186 -0.03913424