我在使用并行处理将值附加到数据帧时遇到问题。
我有一个函数可以进行一些计算并返回一个数据帧,包括这些计算是随机抽样。
所以我所做的是:
randomizex <- function(testdf)
{
foreach(ind=1:1000)%dopar%
{
testdf$X = sample(testdf$X,nrow(testdf), replace=FALSE)
fit = lm(X ~ Y, testdf)
newdf <- rbind(newdf, data.frame(pc=ind, err=sum(residuals(fit)^2) ))
}
return(newdf)
}
resdf = randomizex(mydf)
当我查看结果时resdf
,它是空的
如果我替换%dopar%
为%do%
正确计算的结果,但它太慢了..
反正有没有提高一点?