我有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
我想要根据列给每个人分配数字,一个数字序列.
例如,在名称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会很棒.