我想从这个小标题:
mydf <- tribble(
~siren_us, ~eff,
"A", 3,
"A", 2,
"B", 1,
"B", NA,
"C", 3,
"C", 5,
"C", 4,
"D", NA,
"E", 1,
"E", NA
)
得到这个:
更确切地说,我想要从行mydf
针对siren_us
至少存在两次,其中有eff
列等于NA。在我的示例中,我不希望result
result <- tribble(
~siren_us, ~eff,
"B", NA,
"E", NA
)
我认为这可能是madewith dplyr指令group_by
和filter
?
提前谢谢了
使用group_by
和filter
来自dplyr
包
library(dplyr)
mydf %>%
group_by(siren_us) %>%
filter(
# group that have at least two records
n() >= 2 &
# and at least one eff is.na
any(is.na(eff)))
输出
# A tibble: 4 x 2
# Groups: siren_us [2]
siren_us eff
<chr> <dbl>
1 B 1
2 B NA
3 E 1
4 E NA
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句