0

長さ 79 の離散因子があります。

[1] 4 6 6 4 6 1 6 4 1 6 1 4 6 1 1 1 6 6 6 6 6 4 1 6 6 4 6 6 1 1 6 4 6 1 6 6 4 4
[39] 6 6 4 1 1 4 1 1 6 1 1 6 6 1 1 6 4 1 1 6 1 6 6 1 6 6 6 6 1 1 1 1 6 1 1 1 1 1
[77] 6 6 1
Levels: 1 4 6

この離散因子を次元を持つ大きな行列に cbind しようとしています: 79 行 x 1921 列。最終結果は、列が追加された元のマトリックスになるはずだと言われましたが、この問題にどのように対処すればよいかわかりません。前もって感謝します。

これは、因子を行列に cbind するために与えられたコードです。

dd1 = mat.x
for(v in levels(X)){
    nv = rep(0, length(X))
    nv[X==v] = 1
    dd1 = cbind(dd1, nv)
}

次の警告メッセージが表示されます。

警告メッセージ:

1: cbind(dd1, nv) で:

結果の行数がベクトルの長さの倍数ではありません (arg 2)

2: cbind(dd1, nv) で:

結果の行数がベクトルの長さの倍数ではありません (arg 2)

3: cbind(dd1, nv) で:

結果の行数がベクトルの長さの倍数ではありません (arg 2)

4

2 に答える 2