【发布时间】:2012-06-28 07:17:44
【问题描述】:
假设我有示例代码
kkk<-data.frame(m.mean=1:1000, m.sd=1:1000/20)
kkk[,3:502]<-NA
for (i in 1:nrow(kkk)){
kkk[i,3:502]<-rnorm(n=500, mean=kkk[i,1], sd=kkk[i,2])
}
我想将此函数转换为与doMC 并行运行。我的问题是foreach 生成一个列表,而我需要将每次迭代的结果作为一个向量,然后可以将其传输到数据帧(稍后将导出为 CVS 以进行进一步处理)。
有什么想法吗?
【问题讨论】:
-
您希望将
.combine参数设置为foreach。看看?foreach,你可以看到例子。 -
我知道 '.combine' 参数,但是在我看来,这意味着创建另一个向量(带有结果),然后将结果传输到我的初始数据框中。是否可以节省此步骤/时间? (我的数据集很大,迭代次数为 100.000)。谢谢
-
这似乎是一个使用
data.table的好地方。 -
@Andrie 好的,我明白你的意思。我会调查的。谢谢。
标签: r foreach parallel-processing domc