我正在尝试创建一个数据列表,其中包含数据框中每个ID#的NA值,以便我可以跟踪缺失的数据。我的数据框中,每行都是一个ID#,每列都是一个变量名。每个ID#可能具有不同的缺失数据,因此我希望将这些信息压缩成一个两列表格。目前,我的表格看起来像这样:
ID Var1 Var2 Var3 Var4 Var5
1 10 T NA 2 NA
2 15 F 50 2 NA
3 12 NA 41 2 NA
4 NA NA NA 1 NA
5 NA F NA NA NA
...
我希望能得到类似于以下输出:
ID Missing Variables
1 Var3, Var5
2 Var5
3 Var2, Var5
4 Var1, Var2, Var3, Var5
5 Var1, Var3, Var4, Var5
...
我感到困惑,如何为每个丢失的数据条目返回列名。我知道你可以用for循环做一些事情,但除此之外,我会有点迷失。非常感谢任何帮助!
which.na()
可能会有帮助,尽管我不太确定具体如何使用。 - AnilGoyalix = which(is.na(df), arr.ind = TRUE)
;tapply(names(df)[ix[ , 2]], ix[, 1], toString)
- Henrik