我觉得R中的矩阵运算非常令人困惑:我们正在混合行 vector 和列 vector 。
x1
定义为一个 vector ,(我假设R默认 vector 是列 vector 吗?但是它没有显示它是以这种方式排列的。)x2
是x1
的转置,它的显示对我来说也很奇怪。 x3
定义为矩阵,则显示效果会更好。 现在,我的问题是,
x1
和x2
是完全不同的东西(一个是另一个的转置),但是我们在这里得到相同的结果。有什么解释吗?可能我不应该将 vector 和矩阵运算混合在一起吗?
x1 = c(1:3)
x2 = t(x1)
x3 = matrix(c(1:3), ncol = 1)
x1
[1] 1 2 3
x2
[,1] [,2] [,3]
[1,] 1 2 3
x3
[,1]
[1,] 1
[2,] 2
[3,] 3
x3 %*% x1
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 2 4 6
[3,] 3 6 9
x3 %*% x2
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 2 4 6
[3,] 3 6 9
最佳答案
参见?`%*%`
:
关于r - R中的矩阵和向量乘法运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39025900/