我有以下数据集
A B C
1 red No
2 green Yes
1 red No
3 red No
2 green No
1 red Yes
4 red Yes
2 green No
5 green No
因此,我想删除基于A列和B列的重复行,但保留那些在C列上具有“是”值的行。期望的结果将是:
A B C
1 red Yes
2 green Yes
3 red No
4 red Yes
5 green No
我正在寻找dplyr的答案。 谢谢大家!
答案 0 :(得分:0)
您可以这样做:
df %>%
group_by(A, B) %>%
mutate(C = rev(sort(C))) %>%
summarise(C = C[1], .groups = "keep")
#> # A tibble: 5 x 3
#> # Groups: A, B [5]
#> A B C
#> <int> <chr> <chr>
#> 1 1 red Yes
#> 2 2 green Yes
#> 3 3 red No
#> 4 4 red Yes
#> 5 5 green No