gpt4 book ai didi

r - 组内的 dplyr group_by() 和 slice()

转载 作者:行者123 更新时间:2023-12-02 02:22:17 24 4
gpt4 key购买 nike

假设你有一个tibble:

library(tidyverse)

x <- tibble(
name = c("alice", "bob", "mary", "mary", "alice", "alice"),
colour = c(NA, "green", "orange", "orange", NA, NA)
) %>%
group_by(name)



# A tibble: 6 x 2
# Groups: name [3]
name colour
<chr> <chr>
1 alice NA
2 bob green
3 mary orange
4 mary orange
5 alice NA
6 alice NA

如果一个组中的所有颜色都是 NA,您如何按名称分组并只返回 1 个名称?

预期输出:

# A tibble: 4 x 2
name colour
<chr> <chr>
1 alice NA
2 bob green
3 mary orange
4 mary orange

最佳答案

您可以使用 all 内部过滤器来检查是否所有颜色都是 NA

x %>%
filter(!(all(is.na(colour)) & 1:n() != 1))

关于r - 组内的 dplyr group_by() 和 slice(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66210729/

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