首页 > 解决方案 > 特定列的所有值的显示 ID 为 NA r

问题描述

id <- c(1,1,1,2,3,3,3,4,4,5,5)
val1 <-c(NA,1,2,NA,NA,3,4,4,NA,NA)
dt <- data.frame(id,val1)

dt 是我的数据框,我想输出所有 val1 为 NA 的 id。

id val1
1  NA
1  1
1  2
2  NA
3  NA
3  NA
3  3
4  4
4  4
5  NA
5  NA

输出应该是

id
2
5  

标签: rgroup-bydplyrlapply

解决方案


你可以用dplry包做

library(dplyr)

dt %>%
  group_by(id) %>%
  filter(all(is.na(val1))) %>%
  pull(id) %>%
  unique()

输出

[1] 2 5

推荐阅读