Если я правильно понимаю, что вы хотите сделать, более быстрая альтернатива использует outer(1:2, 1:4, function(b, a) 10 * (a - 1) + b)
.
Если вы хотите заполнить FBM
этой функцией, вы можете сделать:
library(bigstatsr)
X <- FBM(200, 400)
big_apply(X, a.FUN = function(X, ind) {
X[, ind] <- outer(rows_along(X), ind, function(b, a) 10 * (a - 1) + b)
NULL
})
Обычно использование параллелизма не поможет при записи данных на диск (что вы делаете, заполняя X[, ind]
), но если вы действительно хотите попробовать, вы можете использовать ncores = nb_cores()
в качестве дополнительного аргумента big_apply()
.