R中矩阵的乘法 - 维度问题

问题描述

我正在尝试乘以 R 中的矩阵:

我知道可以进行乘法运算,但出现错误。知道为什么吗?

> d1
     [,1]
[1,]   -3
[2,]    0
[3,]    3

> t1
     [,1] [,2] [,3]
[1,]    2    2    2

> t1 * d1
Error in t1 * d1 : non-conformable arrays

解决方法

从@ThomasIsCoding 评论开始的更多细节:

d1<-as.matrix(c(-3,3))
t1<-t(as.matrix(c(2,2,2)))


d1 %*% t1
     [,1] [,2] [,3]
[1,]   -6   -6   -6
[2,]    0    0    0
[3,]    6    6    6

来自关于矩阵乘法的官方 CRAN 文档

A * B 是元素乘积的矩阵,

A %*% B 是矩阵乘积。

如果 x 是向量,则

x %% A %% x 是二次型。

链接到文档 HERE