0
所以我有一個包含很多缺失值的數據集。我想分離不同丟失模式的數據。我發現了包裝中的'老鼠',在總結缺失值模式時非常方便。但是,當我想選擇具有某種缺失模式的行時,選定行的數量遠少於缺少模式矩陣所建議的數量。如何選擇某些缺失模式的行?
我的代碼如下。
要獲得丟失的模式:
library(mice)
# md.pattern returns a matrix, I convert the matrix into a data frame with the first column as its frequency in the data frame
pattern = md.pattern(data)
freq = dimnames(pattern)[[1]][-nrow(pattern)]
pattern = data.frame(pattern[1:nrow(pattern)-1, 1:ncol(pattern)-1], row.names = NULL)
pattern$freq = freq
pattern = pattern[order(freq,decreasing = TRUE),]
然而,當我嘗試通過在pattern
特定圖案手工清點丟失的模式。計數要小得多。
count = 0
for (i in 1:nrow(data)){
# match the missingness by the entire row
if (all(!is.na(data[i, names(data)[1:ncol(pattern)-1]]) == test[1,1:ncol(pattern)-1])){
count = count +1
}
}
有沒有人有一個想法,哪裏出錯了? 謝謝!
數據有很多變量(共107個)和70000+個觀測值。該代碼適用於mice
包中的示例數據nhanes
。但它在我的數據文件中出錯。
例如:
V1 V2 V3 V4 V5
1 NA 3 5 2
NA 3 23 2 9
NA 3 90 7 5
3 3 2 34 NA
3 NA 2 1 3
4 NA 7 3 1
你必須提供一些樣本數據給我們玩,這是你的真實數據的代表。目前,我們沒有任何建議。 – thelatemail
@thelatemail我上傳了一個數據文件的樣本。謝謝! – StatCC
*「提供一些樣本數據」*並不意味着*「給我們一個鏈接到一個未知來源的文件,以便我們可以點擊它,看看它在什麼格式,推斷問題出在哪裏,等等」*。請將問題簡化爲小數據集,然後直接將此問題添加到此問題中。 (這也有助於某人在你提供的鏈接失效時從這個問題中受益) – r2evans