foreach,dopar写入相同的data.table

时间:2018-06-29 14:08:14

标签: r foreach data.table

我有一个可以进行计算的函数,我想将结果添加到数据表中。

library(data.table)
library(doParallel)


data.table1 <- data.table( row_number = 1:10)


test_function <- function(input){
  data.table1[input$row_number, test:=(input$row_number^2)]
}

以下将我想要的列测试添加到data.table1

myCluster <- makeCluster(3, # number of cores to use
                         type = "PSOCK") # type of cluster
registerDoParallel(myCluster)

foreach(j = 1:nrow(data.table1), .packages=c("data.table","doParallel")) %do% {
  test_function(data.table1[j,])
}
stopCluster(myCluster)

但是,当我尝试使用dopar而不显示列测试时,我也没有收到任何错误消息

myCluster <- makeCluster(3, # number of cores to use
                     type = "PSOCK") # type of cluster
registerDoParallel(myCluster)

foreach(j = 1:nrow(data.table1), .packages=c("data.table","doParallel")) %dopar% {
  test_function(data.table1[j,])
}
stopCluster(myCluster)

0 个答案:

没有答案