gpt4 book ai didi

r - 使用 group_by() 后跟 summarise() 和 dplyr 时,如何在分组中不包括 NA 观察?

转载 作者:行者123 更新时间:2023-12-04 10:38:22 34 4
gpt4 key购买 nike

我有一个电话号码、电子邮件和姓名的数据框。有些电子邮件是重复的,名称拼写不同。我真的不在乎留下哪个名字,所以我通过电子邮件分组,并总结选择首先观察姓名和电话号码。但是,有一些电子邮件地址丢失,但我想防止它们组合在一起,以便我可以保留唯一的电话号码。使用一个简化的例子,我的数据是:

data <- data.frame(x=c(1,2,3,4,5,5,5,6), y=c("a","b","c",NA,"d","d","d",NA))
data %>% group_by(y) %>% summarize(x=first(x))

当我这样做时,我失去了数字 6。如何防止 NA 组合在一起并被汇总?

最佳答案

大概处理NA s 分开并将它们绑定(bind)到原始数​​据。

library(dplyr)

data %>%
filter(!is.na(y)) %>%
group_by(y) %>%
summarize(x=first(x)) %>%
bind_rows(data %>% filter(is.na(y)))

# A tibble: 6 x 2
# y x
# <fct> <dbl>
#1 a 1
#2 b 2
#3 c 3
#4 d 5
#5 NA 4
#6 NA 6

关于r - 使用 group_by() 后跟 summarise() 和 dplyr 时,如何在分组中不包括 NA 观察?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60049579/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com