Я хочу использовать Еогеасп пакет параллельно для цикла:как использовать совместно dataframe в параллельной обработке с использованием Еогеаспа
исходного код выглядит следующим образом:
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
}
Я использовал индекс г, как номер строки , чтобы получить данные из фрейма данных и сохранить данные обратно в другой фрейм данных.
Однако, если я изменю:
for(i in 1:10)
в
foreach(i=1:10) %dopar%
Это действительно бежит очень быстро, но результат кажется хранится только в одном столбце в кадре данных. Как сохранить два столбца вместе?
Как написать общий кадр данных, чтобы быть параллельным?
выборки данных для data_df
a b
1 1
2 4
4 8
9 6
2 3
В параллелизации каждый дочерний процесс получает новую среду. Поэтому в конце вам нужно вернуть data.frame, чтобы каждый дочерний процесс мог быть сохранен вместе родительским процессом –
также добавить пример данных для нас, над которыми мы работаем! –
спасибо за указание, я добавил, что – lserlohn