反復アルゴリズムでは、各ステップで、さらに計算するために考慮すべき行を 1 つ、複数、またはまったく特定しません。対象の行を格納するには、X.id と X.val の 2 つの変数をバインドする必要があります。私は現在使用しています:
cbind(X.id,X.val)
X.id と X.val が両方とも行列の場合、問題なく動作します。
X.id <- matrix(1,nrow=2,3)
X.val <- matrix(1,nrow=2,1)
cbind(X.id,X.val)
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
ただし、行が1つの場合はそうではありません:
X.id <- c(1,1,1)
X.val <- matrix(1,nrow=1,1)
cbind(X.id,X.val)
次のエラーが発生します。
In cbind(c(1, 1, 1), matrix(1, nrow = 1, 1)) : number of rows of result is not a multiple of vector length (arg 1)
提案されたソリューションは、行列の次元を維持しながら、行数が 0、1、および n の場合に機能するはずです!