r - 删除选择列中缺少数据的行,前提是它们在所有列中都没有缺失数据(最好使用 complete.cases)
问题描述
所以我试图删除在某些列中缺少数据的行,但不是那些在所有列中都缺少数据的行。
使用rowSums
并排!is.na()
在我的数据集底部给了我 1000 行 NA。这里的最佳答案提供了一种使用 complete.cases 解决我的问题的好方法:
删除 data.frame 中具有全部或部分 NA(缺失值)的行
IE
data_set1 <- data_set1[complete.cases(data_set1[11:103]), ]
但是,这只允许我删除指定列中缺少任何数据的行。我正在努力让 complete.cases 与 rowSums 一起玩,并阻止它删除所有缺失数据的行。
非常感谢任何建议!
解决方案
尝试使用rowSums
类似:
cols <- 11:103
vals <- rowSums(is.na(data_set1[cols]))
data_set2 <- data_set1[!(vals > 0 & vals < length(cols)), ]
或complete.cases
与rowSums
data_set1[complete.cases(data_set1[cols]) |
rowSums(is.na(data_set1[cols])) == length(cols) , ]
用可重现的例子,
df <- data.frame(a = c(1, 2, 3, NA, 1), b = c(NA, 2, 3, NA, NA), c = 1:5)
cols <- 1:2
vals <- rowSums(is.na(df[cols]))
df[!(vals > 0 & vals < length(cols)), ]
# a b c
#2 2 2 2
#3 3 3 3
#4 NA NA 4
推荐阅读
- c# - 两个 signalR 核心集线器之间的通信
- python - Python Bruteforcing zip file cannot assign to function call
- sql - 如何获得 3 个 SQL 的一个结果
- python - 如何在python中的时间戳中迭代数小时
- ios - 使用 Core Image 和 AVFoundation 创建幻灯片
- javascript - firebase 云函数 oncall 返回 null
- c# - 正则表达式:在任何花括号之间获取任何内容
- c# - 如何在博客/新闻项目页面上显示自定义小部件 - Sitefinity
- python - 当密钥对(“y”:“z”)存在时,Python 更新密钥“x”的值
- html - 一个用 JS 编写的类被导出(module.export) 我如何在 javascript 中将它用于 html 脚本?