foreach, допар писать в тот же data.table - PullRequest
0 голосов
/ 29 июня 2018

У меня есть функция, которая выполняет вычисления, и я хочу добавить результат в таблицу 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)]
}

Следующее добавляет столбец test, как я хочу, в 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)

Однако, когда я пытаюсь использовать допар вместо проверки столбца, я также не получаю сообщение об ошибке

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)
...