r - 确定嵌套列表是否在 R 中具有所有 NA 值时出现 sapply 问题
问题描述
我有一个嵌套列表(或列表列表),其中包含 NA 随机分配的值。我正在尝试确定嵌套列表是否包含所有NA
值。例如:
#Example list with NA values
L.miss<-list(list(NA,NA,c(NA,NA,NA),c(NA,NA)),list(1,6,c(0,3,NA,0,NA,0),c(0,NA,0,1,0,0),1,NA,c(0,1),2,c(0,0)),
list(NA,NA),list(1,0),list(1,NA,c(NA,0,0,0),c(NA,NA),c(1,0,0,NA,0),0))
在这里,L.miss[[1]]
并L.miss[[3]]
包含所有NA
值。当我尝试:
all.NA<-sapply(L.miss, function(x) all(is.na(x)))
它返回一个逻辑向量[1] FALSE FALSE TRUE FALSE FALSE
。所需的输出将是[1] TRUE FALSE TRUE FALSE FALSE
因为位置L.miss[[1]]
并L.miss[[3]]
包含所有的向量NA
。我已经尝试过lapply
相同rapply
的功能但不起作用,并且详尽的互联网搜索并没有提供太多帮助。我不知道为什么它会获得[[3]]
职位而不是[[1]]
职位。任何意见,将不胜感激!
解决方案
取消列出嵌套列表,然后测试:
all.NA<-sapply(L.miss, function(x) all(is.na(unlist(x))))
推荐阅读
- reactjs - 导入故事书组件时忽略主题 UI sx 属性
- javascript - 我的 Discord 机器人显示服务器时出错
- php - PHP 中的 __destruct 和 debug_backtrace()
- javascript - 使用 AJAX 如何在不同的 html 元素中显示输入的两种类型的验证错误?
- javascript - 使用 NgStyle 的角度设置位置不起作用
- javascript - Three.js - 我如何使用固定背景图像作为 3d 模型的环境图
- nginx - 在 NGINX 中执行 301 重定向时跳过参数
- node.js - 错误:找不到模块“/next”、docker、next.js
- php - Laravel 7 数据库种子命令不成功
- python - 如何使用输入函数在 NumPy 中附加一个数组?