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

R语言筛选全科目NA的ID与年份及指定列NA查询需求

原始数据表

IDYearMaths_subEng_subChem_subComp_sub
12010201512NA
2201517201416
32012NA1712NA
420151413NANA
52016NANANANA
62015NANANANA

需求1:筛选所有科目列均为NA的ID和Year

你之前的代码把数据转成了长格式,最终得到的是每个ID对应的缺失变量清单,和需求不符。可以用dplyr的if_all函数直接判断每行中所有以sub结尾的列是否全为NA,再筛选目标列:

library(dplyr)

df %>%
  filter(if_all(ends_with("sub"), is.na)) %>%
  select(ID, Year)

运行结果:

IDYear
52016
62015

需求2:筛选指定列(Maths_sub和Comp_sub)均为NA的ID和Year

同样用if_all,但明确指定要检查的列名即可实现精准筛选:

df %>%
  filter(if_all(c(Maths_sub, Comp_sub), is.na)) %>%
  select(ID, Year)

运行结果:

IDYear
32012
52016
62015

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:57:51