我是 R 中并行计算的新手。我已经浏览了 StackOverFlow 上的各种链接以了解该主题并编写了初始代码
library(doParallel)
library(foreach)
detectCores()
## [1] 4
# Create cluster with desired number of cores
cl <- makeCluster(3)
# Register cluster
registerDoParallel(cl)
# Find out how many cores are being used
getDoParWorkers()
我的目标是对每一行进行重复计算,我的函数看起来像
func2<-function(i)
{
msgbody<-tolower(as.character(purchase$msg_body[i]))
purchase$category[i]<-category_fun(i,msgbody)
}
为此,我编写了一个 foreach 循环
foreach(i = 1:nrow(purchase)) %dopar% func2(i)
但是,问题是“func2”应该写回数据帧但它没有写回任何东西,所有条目都与旧条目相同
感谢您的帮助。