【发布时间】:2023-01-13 20:01:29
【问题描述】:
我有 50 列名称,但为了方便起见,这里我只显示了 4 列。
Name1 Name2 Name3 Name4
Rose,Ali Van,Hall Ghol,Dam Murr,kate
Camp,Laura Ka,Klo Dan,Dan Ali,Hoss
Rose,Ali Van,Hall Ghol,Dam Kol,Kan
Murr,Kate Ismal, Ismal Sian,Rozi Nas,Ami
Ghol,Dam Ka,Klo Rose,Ali Nor,Ko
Murr,Kate Ismal, Ismal Dan,Dan Nas,Ami
我想根据列(一系列数字)为每个人分配数字。
例如,在 Name 1 中,我们获取 1-4 中的数字。重复的名字会得到相同的数字。
在名称 2 中,它应该从 5 开始,依此类推。这将给我下表:
Assign1 Assian2 Assian3 Assian4
1 5 8 12
2 6 9 13
1 5 8 14
3 7 10 15
4 6 11 17
3 7 9 15
我希望它没有循环,即sapply,即sapply(dat, function(x) match(x, unique(x)))。
使用 dplyr 或 tidyverse 会很棒。
【问题讨论】: