1

miceパッケージを使用して、完成したデータを取得しています。問題は、すべてのデータに対して代入を行っていないことであると考えています。そのため、一部のデータにはNAがあります。(データが欠落している変数の中には、他の変数の欠落を予測するためだけに使用されるものがあるため、それらを代入したくありません。

私はこのコードで問題を再現することができます:

require(mice)
impute <- mice(
    nhanes, 
    imputationMethod = c(
        "",        # age
        "pmm",     # bmi
        "pmm",  # hyp
        ""         # chl
    ),
    seed = 101)
x11()
densityplot(impute)

Error in density.default(x = c(NA_real_, NA_real_, NA_real_, NA_real_,  : 
  need at least 2 points to select a bandwidth automatically

密度プロットを取得するにはどうすればよいですか?""forを"pmm"forに置き換えるchlか、単に実行するimpute <- mice(nhanes)と、この例で機能し、次のようになります。 ここに画像の説明を入力してください

しかし、私は自分のデータではそれを行うことができないので、別の方法を探しています....の値を代入しない上記のコードで実行した後、bmiとの密度プロットを取得するだけですhypmicechl

編集:を使用して以前の質問 への回答のメソッドを使用できることはわかっていますggplotが、この場合は実際に作業する必要がありますdensityplot

4

1 に答える 1

2

'chl'列にはまだ多数の欠落データがあります。マウス関数completeを使用して、元の欠落していない値と帰属された値をまとめることができます。ただし、densitplot.mids関数は、ヘルプページの詳細で(最終的に)説明されているように、データと数式の役割を逆にした場合にそれを実行します。

densityplot( x=impute , data= ~ bmi+hyp)

ここに画像の説明を入力してください

于 2012-09-12T17:55:34.180 に答える