と の 3 つのベクトルv
がw
ありa
ます。インジケーターの合計を知りたい(v > w_i)* a_i.
コードに従うより速い方法はありますか?
v = rnorm(1600)
w = runif(500)
a = rnorm(500)
m = v > rep(w, each = length(v))
dim(m)=c(length(v), length(w))
. system.time({
m = v > rep(w, each = length(v))
dim(m)=c(length(v), length(w))
rowSums(m %*% diag(a))
})
user system elapsed
0.03 0.00 0.04