我正在使用hot.deck包進行R中的熱卡填充並按照此處描述的示例進行測試:https://cran.r-project.org/web/packages/hot.deck/vignettes/Using_Hot_Deck_Data.pdf條件長度> 1,只有第一個元素將被使用(RE:miceadds,MIDS)
該數據集是數據(isq99)。我將跳過創建的其他變量並討論熱點結果。這裏是正是我做了什麼:
library(hot.deck)
data(isq99)
out <- hot.deck(isq99, sdCutoff=3, IDvars=c("IDORIGIN","YEAR"))
我卡在使用上P中的中頻技術相結合的結果。 3(2.3「使用中頻」 - 我知道這說出來$插補但這是如果轉換到阿梅利亞):
library(miceadds)
out.mids <- datalist2mids(out$data)
當我這樣做,我收到以下錯誤信息:
Warning message:
In if (class(dat.list) %in% "imputationList") { :
the condition has length > 1 and only the first element will be used
這裏,如果我看一下原來的熱甲板結果的結構會發生什麼:
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個版本的多重插補數據) - 有我喜歡的東西我們是否已經知道如何首先將長度縮短爲一組?
任何幫助表示讚賞。道歉重新格式化或者我忘記了任何東西 - 請讓我知道你還需要什麼。
感謝
也許你想在布爾的'any'或'all' if語句 – Carl
@Carl是有可能改變這種狀況? if語句來自程序包本身。正如我在鏈接文件中所描述的那樣,上述實際的R代碼正是我所做的。 – egon