Учитывая r
матрицу со столбцами lm
, я хочу оптимизировать приведенный ниже код для наиболее эффективного.Есть идеи?
set.seed(123456)
system.time(expr = {
r = matrix(rnorm(15 * 1500), ncol = 15)
s = 0
lm = ncol(r)
##################
for (j in 1:lm) {
cm = combn(lm, j)
for (i in 1:ncol(cm)) {
val = apply(r, 1, function(x) {
prod(x[cm[, i]])
})
s = s + (-1) ^ (j + 1) * val
}
}
}
###############
)
user system elapsed
110.56 0.07 111.37