基于重复列创建基于列的唯一标识符的新列

时间:2017-11-07 16:10:33

标签: r unique multiple-columns

我有一个有id_numbers的列,但有些不是唯一的:

alpha_id
       1
       2
       2
       3
       4

我想要一个新列,如果它是唯一的,则保留id,但如果它不是唯一的,则标记为2a和2b

alpha_id    unique_id
       1            1
       2           2a
       2           2b
       3            3
       4            4

不知道从哪里开始

1 个答案:

答案 0 :(得分:3)

a = data.frame(alpha = c(1, 2, 2, 3, 4))    
a$unique = paste0(a$alpha, ave(a$alpha, a$alpha,
                  FUN = function(x) if(length(x) >= 2){letters[seq_along(x)]}else{""}))
a
#  alpha unique
#1     1      1
#2     2     2a
#3     2     2b
#4     3      3
#5     4      4