我想使用 foreach 包来并行 for 循环:
原始代码如下所示:
data_df=data.frame(...) # the data frame where original data stored
result_df=data.frame(...) # the data frame where result data to be stored
for(i in 1:10)
{
a=data_df[i,]$a
b=data_df[i,]$b
sum_result=a+b
sub_result=a-b
result_df[i,]$sum_result=sum_result
result_df[i,]$sub_result=sub_result
}
我使用索引 i 作为行号,从数据帧中获取数据并将数据存储回另一个数据帧。
但是,如果我改变:
for(i in 1:10)
至
foreach( i=1:10) %dopar%
它确实运行得非常快,但结果似乎只存储在数据框中的一列中。如何将两列保存在一起?
为了并行,我应该如何编写共享数据帧?
data_df 的样本数据
a b
1 1
2 4
4 8
9 6
2 3