如何计算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,])
使用更直接的命令,例如 apply
或 sweep
。抱歉,我不知道该怎么做。
您应该使用 crossprod
或 tcrossprod
进行此类操作(参见 here)。在你的情况下,
lapply(1:nrow(X), function(i) tcrossprod(X[i,]))
设X是一个n行p列的矩阵。我想计算通过将 X 的行乘以相同行的转置得到的所有 p 乘以 p 矩阵。这是,第一个矩阵是
X[1,]%*%t(X[1,])
我想避免 for 循环,所以我想知道如何获得与
关联的 n(p 次 p)矩阵X[i,]%*%t(X[i,])
使用更直接的命令,例如 apply
或 sweep
。抱歉,我不知道该怎么做。
您应该使用 crossprod
或 tcrossprod
进行此类操作(参见 here)。在你的情况下,
lapply(1:nrow(X), function(i) tcrossprod(X[i,]))