R - 当向量在两个矩阵中时,如何向量化外积和的计算?

Qbi*_*bik 1 r vectorization

R - 当向量在两个矩阵中时,如何矢量化外积和的计算 - X和Y?

示例:

X = cbind(1:3, 2:4)
Y = cbind(0:2, c(0,0,1))
> X
     [,1] [,2]
[1,]    1    2
[2,]    2    3
[3,]    3    4
> Y
     [,1] [,2]
[1,]    0    0
[2,]    1    0
[3,]    2    1

> outer(X[1,],Y[1,]) + outer(X[2,],Y[2,]) + outer(X[3,],Y[3,])
     [,1] [,2]
[1,]    8    3
[2,]   11    4
Run Code Online (Sandbox Code Playgroud)

我想矢量化操作:

outer(X[1,],Y[1,]) + outer(X[2,],Y[2,]) + outer(X[3,],Y[3,])- 可能吗 ?Mayby的一般结构如下:lapply( ,FUN=outer)然后在列表中加入元素的总和?否则我必须循环outer(X[i,],Y[i,]).

Aru*_*run 6

这只是matrix multiplication:

t(X) %*% Y
v     [,1] [,2]
# [1,]    8    3
# [2,]   11    4
Run Code Online (Sandbox Code Playgroud)

你需要一个2*2矩阵,矩阵X和Y都是3*2的维数.转置X得到2*3,当乘以3*2矩阵得到所需的2*2矩阵.