具有适当尺寸的R矩阵乘法误差

时间:2015-04-14 05:30:05

标签: r matrix

我正在尝试在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(向后[i + 1,]))中的错误:不一致的参数

1 个答案:

答案 0 :(得分:2)

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

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

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