首页 > 解决方案 > 在列表列表中搜索 NA

问题描述

是否可以找到 NA(缺失值)并使用列表和列返回它们的位置?

请考虑以下数据:

list1 <- list(a = c(1, 2), b = c(3, 4), c = c(5, NA))
list2 <- list(d = c(6, 7), e = c(8, 9), f = c("a", "b"))
mylist <- mget(c("list1", "list2"))

预期回报将类似于list1$c.

我尝试使用rlist该功能list.search。预先感谢您的帮助。

标签: rlistna

解决方案


一个非常简单的方法是使用rapplywith is.na()。这样的事情将接近您想要的结果:

> rapply(mylist, is.na)
   a1    a2    b1    b2    c1    c2    d1    d2    e1    e2    f1    f2 
FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 

> which(rapply(mylist, is.na))
c2 
 6 

推荐阅读