You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除DataFrame中ndc和ndtem列均含NA的行?

修正方案及替代写法

你的需求是移除ndc和ndtem两列同时为NA的行,保留其余所有行(包括其中一列有值、另一列NA的情况),但现有三种写法都是只保留两列都非NA的行,逻辑不符合需求,以下是修正后的代码:

基础索引写法

# 只移除两列均为NA的行
a <- a[!(is.na(a$ndc) & is.na(a$ndtem)), ]

dplyr管道写法

library(dplyr)
a <- a %>% filter(!(is.na(ndc) & is.na(ndtem)))

complete.cases的变通写法

如果想用complete.cases,可以通过判断每行两列是否全为NA再取反:

# 标记每行ndc和ndtem是否全为NA,再保留非标记行
all_na <- apply(a[, c("ndc", "ndtem")], 1, function(x) all(is.na(x)))
a <- a[!all_na, ]

验证方法

可以用以下代码确认处理结果是否符合预期:

# 查看原数据中两列均为NA的行数
sum(is.na(a$ndc) & is.na(a$ndtem))
# 处理后再次查看,结果应为0
sum(is.na(a$ndc) & is.na(a$ndtem))

内容的提问来源于stack exchange,提问作者creusac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 06:27:00