我有两个要求
我从最近2周开始学习。观看YouTube视频,引荐Stackoverflow和其他网站,所以并不多。如果有任何材料或课程,请参考。
所以我在这里找到我的第一个问题的答案 (Find duplicated elements with dplyr)
# All duplicated elements
mtcars %>%
filter(carb %in% unique(.[["carb"]][duplicated(.[["carb"]])]))
所以我想要与此相反
谢谢
P.S。我没有技术背景。我在这里经历了几个问题和答案,所以我可能已经找到了答案或需要一些调整,而我完全忽略了这一点
答案 0 :(得分:1)
您可能已经意识到,unique
和duplicated
并不是您所需要的,因为它们本质上会导致保留所有不同的值,并且只会折叠这些值的“多个副本”。 / p>
对于第一个问题,您可以group_by
感兴趣的列,然后仅保留具有多行的那些组(通过filter
):
mtcars %>%
group_by(mpg) %>%
filter(length(mpg) > 1) %>%
ungroup()
本示例选择mpg
值重复的所有行。之所以可以这样做是因为,将诸如filter
之类的dplyr操作应用于各个组后,它们才能单独工作。这意味着以上代码中的length(mpg)
将分别返回每个组的mpg
列向量的长度。
要反转逻辑,就足以反转过滤条件:
mtcars %>%
group_by(mpg) %>%
filter(length(mpg) == 1) %>%
ungroup()