R -查找并返回ID的对应项

sq1bmfud  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(119)

我有一个数据集,包含许多组,每组12名玩家。每个组中的12名玩家都被分配了一个配对号码,将他们与该组中分配了相同配对号码的伙伴配对。我想创建一个新列,标识伙伴的玩家ID。例如,2组,每组4名玩家:

df <- data.frame(group_id = c(1,1,1,1,2,2,2,2), player_id = c(1,2,3,4,5,6,7,8), player_pair = c(1,2,1,2,2,2,1,1))

#  group_id player_id player_pair
#1        1         1           1
#2        1         2           2
#3        1         3           1
#4        1         4           2
#5        2         5           2
#6        2         6           2
#7        2         7           1
#8        2         8           1

我希望生成的表如下所示:

#  group_id player_id player_pair counterpart_ID
#1        1         1           1              3
#2        1         2           2              4
#3        1         3           1              1
#4        1         4           2              2
#5        2         5           2              6
#6        2         6           2              5
#7        2         7           1              8
#8        2         8           1              7
ffx8fchx

ffx8fchx1#

按group_id、player_pair分组,取player_id的rev序列,创建对方_ID

library(dplyr) #v >= 1.1.0
df %>% 
   mutate(counterpart_ID = rev(player_id), .by = c("group_id", "player_pair"))

相关问题