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%
非常に高速に実行されますが、結果はデータ フレームの 1 つの列にしか格納されないようです。2 つの列をまとめて保存するにはどうすればよいですか?
並列化するには、共有データ フレームをどのように記述すればよいですか?
data_df のサンプル データ
a b
1 1
2 4
4 8
9 6
2 3