【问题标题】:How to do elements wise addition or multiplication R with 4 X 3 and 3 X 5 vector in R [closed]如何在 R 中使用 4 X 3 和 3 X 5 向量进行元素加法或乘法 [关闭]
【发布时间】:2021-02-07 10:41:36
【问题描述】:

我正在尝试对两个矩阵 a 和 b 进行元素乘法,但出现错误提示

a + b 中的错误:不一致的数组

data <- matrix(151:162, nrow=4)
data2 <- matrix(221:235, nrow=3)

a * b 中的错误:不一致的数组

但是,当我进行实际的矩阵乘法时,我得到了所需的输出。谁能建议我如何解决这个问题。

【问题讨论】:

  • 提示:4*3 是否等于 3*5?
  • 你是想说不可能吗??

标签: r multidimensional-array matrix-multiplication


【解决方案1】:

150:162 是 13 个元素,220:235 是 16 个元素。length(150:162) 将显示。这些不是 4x3 或 3x5 矩阵。

更新:对于元素操作,矩阵的维度需要相同。见size(data)。所以这些操作对于 3x4 和 4x3 是不可能的。

【讨论】:

  • 元素个数不同。
  • 添加是按条目执行的。所以行数和列数需要匹配。见wikipedia。如果您想将元素与data*data2 相乘,则它必须相同。但是矩阵乘法是用data%*%data2 执行的。正如您所提到的,这有效并产生了一个 4x5 矩阵。
  • 是的,#Speaka 对于实际的矩阵乘法,左矩阵的唯一列必须等于右矩阵的行。但在元素方面,我认为两个矩阵中的元素或维度都必须相同。不是吗?
  • data &lt;- matrix(151:162, nrow=4) data2 &lt;- matrix(221:232, nrow=3) data*data2 也不起作用。如果所有元素的计数匹配,您可以执行as.vector(data)*as.vector(data2)。然而,这可能不是你想要的。
  • 不说话,我不想要这个。顺便谢谢..
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2017-06-25
  • 2013-05-29
相关资源
最近更新 更多