-2

と の 3 つのベクトルvwあり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 
4

1 に答える 1