Rで次の複雑な合計を計算する方法は?[閉まっている]

Nov 26 2020
 a1=c(1,2,3, 4)
 a2=c(4,5,6, 7)
 a3=c(7,8,9,10)
 x <- cbind(a1, a2, a3)
  y <- c(1,5,7,9)
   z<-c(2,3,5)

次の合計を計算したい:

回答

1 BenjaminChristoffersen Nov 26 2020 at 14:54

あなたはすることができます:

diag(crossprod(x, drop(x %*% z) - x * rep(z, each = NROW(x))))
#R> [1]  630 1080  756

または、ループekoamのsapply/vapplyバージョンがコメントに表示されます。

vapply(seq_along(z), function(j) drop(x[, j] %*% (x[, -j] %*% z[-j])), 
       numeric(1))
#R> [1]  630 1080  756