Вот пример входных данных, упрощенная функция.
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 и т. Д.)