r语言 - 将矩阵乘以其转置的错误:矩阵的不一致性数组应该是可匹配的



我正在尝试将矩阵的转置乘以原始矩阵。

B<-matrix(rep(c(10, -10,10), 15), ncol=3, byrow=TRUE)

然后我使用t(B)函数转置矩阵,给我一个 15 x 3 和 3 x 15 的矩阵,我应该能够将其乘以B*t(B)t(B)*B。但是,我收到"t(B( * B 中的错误:不兼容数组"的错误

这是我为此缺少的东西吗?我应该能够多个 B*t(B( 或 t(B(*B,因为你会有一个 3x3 矩阵或 15 x 15 矩阵作为答案。

对于矩阵乘法,你应该使用%*%(*用于逐元素乘法(。

如果你想要一个简单的表达式,你可以尝试crossprodtcrossprod,例如,

crossprod(B) # equivalent to t(B) %*% B

tcrossprod(B) # equivalent to B %*% t(B) 

最新更新