R:计算两个向量的"乘积"的最佳方式

teu*_*cer 4 r

我们假设我有一个向量

r <- rnorm(4)
Run Code Online (Sandbox Code Playgroud)

W尺寸为20000*200 的矩阵,例如:

W <- matrix(rnorm(20000*200),20000,200)
Run Code Online (Sandbox Code Playgroud)

我想计算一个新的矩阵M尺寸的5000*200,使得m11 <- r%*%W[1:4,1],m21 <- r%*%W[5:8,1],m12 <- r%*%W[1:4,2]等(即分组的行4×4和计算的产物).

这样做的最佳(速度,记忆)方式是什么?

提前致谢.

Jon*_*ang 6

这似乎对我来说最快:

array(r %*% array(W, c(4, 20000 * 200 / 4)), c(5000, 200))
Run Code Online (Sandbox Code Playgroud)