R data.table параллельная построчная операция - PullRequest
0 голосов
/ 14 февраля 2019

Вот пример входных данных, упрощенная функция.

require(data.table)
sampleDT <- data.table(c1 = c(1,2,3), c2 = c(4,5,6))
print(sampleDT)
   c1 c2
1:  1  4
2:  2  5
3:  3  6
testF <- function(x = NULL, y = NULL) {
  return(list(x+y,x))
}

resultCol <- c("r1","r2")
sampleDT[, (resultCol) := testF(c1,c2), by = seq(nrow(sampleDT))]
print(sampleDT)
   c1 c2 r1 r2
1:  1  4  5  1
2:  2  5  7  2
3:  3  6  9  3

Фактическая функция не может быть легко векторизована, и она возвращает список 1 * n.

I'mищем параллельное решение для этой построчной и построчной операции.Также, если есть несколько способов построения параллельного процесса, какой из них оптимизирован по скорости?

Пожалуйста, оставьте несколько примеров кодов, потому что я не знаком с синтаксисом (например, foreach, mclapply и т. Д.)

...