【问题标题】:R Matrix Multiplication Error with Proper Dimensions具有适当尺寸的 R 矩阵乘法误差
【发布时间】:2015-04-14 05:30:04
【问题描述】:

我正在尝试将 R 中的矩阵相乘。但是,我无法做到这一点而不会出错。维度的倍增似乎是正确的,但不确定它可能是什么。这是我的数据的一些背景以及我的循环是什么。感谢您的帮助。

t
# [1] 6848

dim(A)
# [1] 2 2

dim(backward)
# [1] 6848    2

dim(B)
# [1] 6848    2

is.matrix(A)  
# [1] TRUE

is.matrix(backward)
# [1] TRUE

is.matrix(B)
# [1] TRUE

for (i in (t-1):1){ #FIXXXXX
  backward[i,] = t(A%*%(t(backward[i+1,])))*B[i+1,]
} 

A %*% (t(backward[i + 1, ])) 中的错误:参数不一致

【问题讨论】:

    标签: r matrix


    【解决方案1】:

    默认情况下,从矩阵中选择单行或单列会生成一个向量。将drop=FALSE 添加到您的子集表达式中以防止这种情况发生。

    t(A %*% t(backward[i+1, , drop=FALSE])) * B[i+1, , drop=FALSE]
    

    顺便说一句,将t 变量重命名为其他名称可能是个好主意,因为t 也是转置函数。

    【讨论】:

      猜你喜欢
      • 2013-07-18
      • 2014-03-13
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多