使用重叠的字符串ID为两列创建唯一的数值

时间:2018-10-29 05:21:14

标签: match uniqueidentifier

我是R的新手,他想弄清楚如何为两列字符串ID( V1 V2 )分配唯一的数值。到目前为止,我为 V1 中的每个唯一字符串ID创建了数字ID,并将这些数字值应用于 V2 中的任何匹配字符串ID。

V1 <- c("aaa","bbb","ccc","ddd","eee","fff","ggg","hhh","iii","jjj")
V2 <- c("kkk","lll","aaa","bbb","mmm","nnn","ccc","ddd","ooo","ppp")
factor(V1)
factor(V2)
temp <- data.frame(V1,V2)

for (k in 1:)
temp$id1 <- match(temp$V1, unique(temp$V1))
temp$id2 <- match(temp$V2, unique(temp$V1,temp$V2))

输出:

    V1 V2 id1 id2 
[1] aaa kkk 1 NA  
[2] bbb lll 2 NA  
[3] ccc aaa 3 1 
[4] ddd bbb 4 2 
[5] eee mmm 5 NA 
[6] fff nnn 6 NA 
[7] ggg ccc 7 3 
[8] hhh ddd 8 4 
[9] iii ooo 9 NA 
[10] jjj ppp 10 NA

我现在正尝试将 id2 中的NA值替换为唯一的数值,如下所示,但是在弄清楚这一点时遇到了麻烦:

        V1 V2 id1 id2
    [1] aaa kkk 1 11  
    [2] bbb lll 2 12  
    [3] ccc aaa 3 1 
    [4] ddd bbb 4 2 
    [5] eee mmm 5 13 
    [6] fff nnn 6 14 
    [7] ggg ccc 7 3 
    [8] hhh ddd 8 4 
    [9] iii ooo 9 15 
    [10] jjj ppp 10 16

任何帮助/建议都将不胜感激。

0 个答案:

没有答案