r - 在列表列表中搜索 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
。预先感谢您的帮助。
解决方案
一个非常简单的方法是使用rapply
with 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
推荐阅读
- arrays - 如果我有一个字符列表,我如何用我们在 JAVA 中做的类似矩阵的循环填充 clojure 中的二维数组
- wordpress - 变体样本加载 2 次
- php - 3张表Laravel之间的关系
- json - 从 oracle json 对象中删除属性
- python - 在 python 中打印生成器对象
- bash - 更正变量的 sed 语法
- android - org.koin.android.error.MissingAndroidContextException:尝试使用上下文测试应用程序时
- android - 添加到 WindowManager 的两个按钮视图,但只有一个是可点击的
- ms-access - MS Access 自动生成随机数
- bash - 如何在bash中递归复制具有多个特定扩展名的文件