按缺失值分组Dplyr

时间:2017-06-12 19:25:46

标签: r dplyr

我有一个大型数据帧(≈2M观测值),有许多重复。我将删除那些重复项,但我需要将非重复值保留为另一个不丢失的值(NA)。只要存在非NA,它就可以是任何可以想象的值。例如:

 data <- airquality
 data[4:10,3] <- rep(NA,7)
 data[1:5,4] <- NA

 library(dplyr)

 new.data <- data %>% 
    group_by(Ozone) %>% 
    filter(Wind==????))

在这里,您可以看到我不确定要通过&#34; Wind == ????&#34;进行注释来过滤什么。只要Wind列中有任何值(数字或名义),我就会保留这些唯一值,同时删除非缺失值上的条件值。

谢谢!

1 个答案:

答案 0 :(得分:2)

我们可以做到

data %>% 
     group_by(Ozone) %>%
     filter(!duplicated(Wind) & !is.na(Wind))