gpt4 book ai didi

r - 在 R 中识别重复/独特的团队(和重组数据)

转载 作者:行者123 更新时间:2023-12-04 22:30:45 26 4
gpt4 key购买 nike

我有一个看起来像这样的数据集:

 Person Team
1 30
2 30
3 30
4 30
11 40
22 40
1 50
2 50
3 50
4 50
15 60
16 60
17 60
1 70
2 70
3 70
4 70
11 80
22 80

我的总体目标是组织该团队标识代码,以便轻松查看哪些团队彼此重复,哪些团队是独一无二的。我想总结一下数据,使其看起来像这样:
 Team   Duplicate1  Duplicate2
30 50 70
40 80
60

如您所见,团队 30、50 和 70 具有相同的成员,因此它们共享一行。同样,团队 40 和 80 具有相同的成员,因此它们共享一行。只有第 60 队(在本例中)是唯一的。

在团队重复的情况下,我不在乎哪个团队 id 出现在哪个列中。此外,一个团队可能有 2 个以上的副本。团队的规模从 2 人到 8 人不等。

最佳答案

不完全是您想要的格式,但非常有用:

# using MrFlick's data
library(dplyr)
dd %>% group_by(Team) %>%
arrange(Person) %>%
summarize(team.char = paste(Person, collapse = "_")) %>%
group_by(team.char) %>%
arrange(team.char, Team) %>%
mutate(duplicate = 1:n())

Source: local data frame [6 x 3]
Groups: team.char

Team team.char duplicate
1 40 11_22 1
2 80 11_22 2
3 60 15_16_17 1
4 30 1_2_3_4 1
5 50 1_2_3_4 2
6 70 1_2_3_4 3

(在 arrange(Person) 行中编辑,以防数据尚未排序,从@Reed 的回答中得到了想法。)

关于r - 在 R 中识别重复/独特的团队(和重组数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27788519/

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