0

回帰を使用して欠損値を代入しようとしていますが、オンラインで徹底的に検索しましたが、あまり役に立ちませんでした。knn.reg 関数の FNN パッケージ ドキュメントを読みましたが、解釈が難しいことがわかりました。トレーニングデータを使用して予測したいテストデータに欠損値の列があり、次のようなコードがあります::

regress<-knn.reg(data.train[data.train[,4]==1,][c(1,2,3)],test=data.test[c(1,2,3)],data.test[c(2)],5)

しかし、次のエラーが表示されます:: get.knnx(train, test, k, algorithm) のエラー: データには NA が含まれます。欠損値を含む列は、列 #2 です。NA値を持つ列を除外すると、つまり

regress<-knn.reg(data.train[data.train[,4]==1,][c(1,2,3)],test=data.test[c(1,3)],data.test[c(2)],5)

エラーが発生します:: get.knnx(train, test, k, algorithm) のエラー: 列数は同じでなければなりません!. 助けてください !!

4

1 に答える 1

0

miceパッケージを検討することをお勧めします (そして論文の一部を読んでください)。

適切な出発点として証明されている標準設定を使用する:

library(mice)
mi <- mice(dataset)
mi.reg <- with(data=mi,exp=glm(y~x+z))

ここでは、データを呼び出すだけmice()で各NA値が入力されます。もちろん、より細かい調整も可能です (収束に時間がかかりすぎる場合、または正確でないと信じる理由がある場合に必要です)。多くの異なるタイプの代入が可能であり、16 ページにリストされています。

于 2013-10-26T08:32:22.767 に答える