用“矩阵”替换“矩阵”行时出错

时间:2018-09-19 19:45:59

标签: r matrix

我在遇到Matrix软件包的这种意外行为时 用matrix对象替换Matrix对象的行。这是一个说明问题的最小示例:

library(Matrix)
m1 = matrix(1:6, 3, 2)    # 3x2 matrix
M1 = Matrix(1:6, 3, 2)    # 3x2 Matrix
m2 = matrix(11:14, 2, 2)  # 2x2 matrix
M2 = Matrix(11:14, 2, 2)  # 2x2 Matrix

我将2x2矩阵替换为3x2矩阵的前两行:

m1[1:2, ] = m2
m1[1:2, ] = as.matrix(M2)
M1[1:2, ] = M2
# all ok

m1[1:2, ] = M2
# Error in m1[1:2, ] = M2 :
# number of items to replace is not a multiple of replacement length

我认为,这不应引发错误。毕竟,操作在尺寸上是一致的。至少错误消息具有误导性。

奇怪的是,m1[1:2, 1] = M2[, 1]不会引发错误。

0 个答案:

没有答案