r - 按非缺失值分组 Dplyr

标签 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==????))

在这里你可以看到我不确定要过滤什么,正如“Wind==?????”所注释的那样。只要 Wind 列中有任何值(数字或标称),那么我想保留这些唯一值,同时删除非缺失值的条件值。

谢谢!

最佳答案

我们可以做到

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

关于r - 按非缺失值分组 Dplyr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44507284/

相关文章:

r - 在 dplyr 进程中使用自定义函数

r - 遍历列表并提取最后一个字符

r - 将字符类型转换为逻辑类型

r - 使用gsub删除第一个数字字符之前的所有字符串

r - 在列的子集上使用 mutate rowwise

r - 并行计算,dplyr 中 tidyr::complete 的替代方法是什么?

r - 使用 dplyr::mutate 计算到数据点的地理距离

r - 将std::vector转换为Rcpp矩阵

r - 通过排除向量的所有值来对矩阵的列进行子集化

r - 计算一个月和一年中时间序列数据高于阈值的次数