我有一个如下列表:
mtlist = as.list(mtcars)
mtlist[[2]] = NA
mtlist[[5]] = NA
提取NA列表元素名称的最简洁方法是什么?
我想出了下面的解决方案。但我想知道是否还有其他更好的选择。特别是all(is.na(x))
似乎容易出错。
names(which(sapply(mtlist, function (x) all(is.na(x)))))
答案 0 :(得分:2)
您可以使用is.na()
函数检查列表中的哪些元素是NA,并使用names()
函数提取其名称。
names(mtlist)[is.na(mtlist)]
# [1] "cyl" "drat"