Мой столбец TeamName не отражает уникальные имена команд.Поэтому мне нужно найти способ идентифицировать уникальные команды с помощью уникальных столбцов RaterID и RateeID.Мои данные состоят из двоичной информации в команде.Поэтому, если число в столбце RaterID появляется в столбце RateeID, оба участника входят в одну команду.Я пытаюсь создать уникальный идентификатор команды, но единственный способ различить команды - это когда RaterID также появляется в столбце RateeID.Это двоичные данные, собранные в виде круговой схемы в команде.Я подумал, что мог бы создать новый столбец, который объединяет RaterID и RateeID, а затем создать значение (возможно, используя функцию ранга?), Которое помогло бы мне различать команды.Мои данные содержат более 3000 команд, поэтому я подумал, что сначала я должен указать имя группы group_by, а затем проверить диады на общность, чтобы создать новый столбец, который я мог бы позже вставить в TeamName, чтобы получить уникальный идентификатор команды.Это мой первый вопрос здесь, так что, надеюсь, я сформулирую это хорошо ...
Я новичок в r и понятия не имею, что попробовать ...
#creating dataframe
df<-data.frame(RaterID = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 5, 5, 6, 6, 8, 8, 9, 9, 10, 10),
RateeID = c(2, 3, 4, 1, 3, 4, 1, 2, 4, 6, 7, 5, 7, 9, 10, 8, 10, 8, 9),
TeamName = c('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'))
#group by TeamName to ease calculating unique team ID for a big data
library(dplyr)
df %>%
group_by(TeamName)
Здесь яЯ потерян… Как мне написать функцию, которая говорит, что если RaterID также встречается в RateeID внутри группы (т. е. TeamName), то создаю уникальный идентификатор.Возможно использовать функцию ранга?Затем я мог бы использовать это для объединения с TeamName и, наконец, получить уникальный идентификатор команды.
Мой желаемый результат:
RaterID RateeID TeamName UniqueTeamID
1 2 A A1
1 3 A A1
1 4 A A1
2 1 A A1
2 3 A A1
2 4 A A1
3 1 A A1
3 2 A A1
3 4 A A1
5 6 A A2
5 7 A A2
6 5 A A2
6 7 A A2
8 9 B B1
8 10 B B1
9 8 B B1
9 10 B B1
10 8 B B1
10 9 B B1