r - 如何从一个基于 NA 的两个数据帧中删除具有 NA 的行?
问题描述
我正在尝试NA
从 df2 中删除与 df1 中相同的行。例如。
df1
A
1 1
2 NA
3 7
4 NA
df2
A B C D
1 2 4 7 10
2 3 6 1 3
3 9 5 1 3
4 4 9 2 5
预期结果:
df1
A
1 1
3 7
df2
A B C D
1 2 4 7 10
3 9 5 1 3
我已经尝试过......
newdf <- df2[-which(rowSums(is.na(df1))),]
和
noNA <- function(x) { x[!rowSums(!is.na(df1)) == 1]}
NMR_6mos_noNA <- as.data.frame(lapply(df2, noNA))
或者
noNA <- function(x) { x[,!is.na(df1)]}
newdf3 <- as.data.frame(lapply(df2, noNA))
解决方案
我们可以is.na
用来创建一个逻辑条件并使用它来子集“df1”和“df2”的行
i1 <- !is.na(df1$A)
df1[i1, , drop = FALSE]
# A
#1 1
#3 7
df2[i1,]
# A B C D
# 1 2 4 7 10
#3 9 5 1 3
推荐阅读
- python - Aiohttp 尝试使用页码获取页面响应,直到命中空响应
- java - 我无法在我的计算机上下载 Eclipse 的方式 eclips 不运行
- roslyn - 使用 roslyn,如何获取元数据引用中定义的类型的特定方法的符号?
- c# - 在 ASP.NET Core MVC 中从控制器添加会话超时
- html - 无法将 div 与图像居中
- mysql - 用于 pool.getConnection 的 MariaDB node.js 的打字稿错误
- c# - 当多个方法正在侦听同一个 INotifyPropertyChanged.PropertyChanged 事件处理程序时,调用顺序是什么?
- wordpress - WooCommerce 产品更新 - 检查字段的值是否已更改
- javascript - JavaScript 无法访问 div 元素数组中的元素
- c# - 关于异步任务