ошибка замены строк в матрице на матрицу - PullRequest
0 голосов
/ 19 сентября 2018

Я столкнулся с этим неожиданным поведением пакета 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

Я заменяю первые две строки матрицы 3x2 на матрицу 2x2:

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] не выдает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...