hot.deckパッケージを使用してRでホットデッキ代入を行い、ここで説明する例に従ってテストしています:https://cran.r-project.org/web/packages/hot.deck/vignettes/Using_Hot_Deck_Data.pdf条件がlength> 1で、最初の要素のみが使用されます(RE:miceadds、MIDS)
データセットはデータ(isq99)です。私は作成された他の変数をスキップして、ホットデッキの結果について議論します。ここで私が何をやったかまさにです:
library(hot.deck)
data(isq99)
out <- hot.deck(isq99, sdCutoff=3, IDvars=c("IDORIGIN","YEAR"))
私は、pの中音域の技術を使用して結果を組み合わせることにこだわっています。 3(2.3「中音域の使用」 - 私はそれが$インピューテーションを言う知っていますが、アメリアに変換する場合それはです):
Warning message:
In if (class(dat.list) %in% "imputationList") { :
the condition has length > 1 and only the first element will be used
:私はこれを行うと、私は次のエラーメッセージが表示されます
library(miceadds)
out.mids <- datalist2mids(out$data)
を - そこにある
Length Class Mode
data 5 mi list
affinity 14775370 -none- numeric
donors 4661 -none- list
draws 4661 -none- list
max.emp.aff 4661 -none- numeric
max.the.aff 4661 -none- numeric
私は(多重代入データの5つのバージョンがあり、予想通りある)$データを拒絶ている理由見当がつかない:
は、ここで私は、元のホットデッキ結果の構造を見れば何が起こるかです私が尋ねるものuldは長さを最初に1セットに減らすことを知っていましたか?
何か助けていただければ幸いです。謝罪する:書式設定するか、何かを忘れてしまった場合 - 他に何が必要なのか教えてください。オブジェクトは複数のクラスを持っている(または単に後方%in%
コールを書いた)とチェックしていないことを予想していない、miceaddsパッケージ/機能の作者の一部にバグのように見えます
おかげ
おそらく、if文のブール値に 'any'または' all'を入れたいかもしれません。 – Carl
@Carlはそれを変更することは可能でしょうか? if文はパッケージ自体からのものです。上で説明した実際のRコードは、リンクされた論文で説明したとおり、まさに私がやったことです。 – egon