如何计算R中X X^T中的所有元素?

How to calculate all the elements in X X^T in R?

X是一个n行p列的矩阵。我想计算通过将 X 的行乘以相同行的转置得到的所有 p 乘以 p 矩阵。这是,第一个矩阵是

X[1,]%*%t(X[1,])

我想避免 for 循环,所以我想知道如何获得与

关联的 n(p 次 p)矩阵
X[i,]%*%t(X[i,])

使用更直接的命令,例如 applysweep。抱歉,我不知道该怎么做。

您应该使用 crossprodtcrossprod 进行此类操作(参见 here)。在你的情况下,

lapply(1:nrow(X), function(i) tcrossprod(X[i,]))