我想带一个矢量:
x <- c(rep("cat",3), rep("dog",2))
[1] "cat" "cat" "cat" "dog" "dog"
并将其转换为:
[1] "cat_a" "cat_b" "cat_c" "dog_a" "dog_b"
每个唯一元素的索引为“_”加上一个字母。
答案 0 :(得分:4)
使用基本功能
ave(x, x, FUN=function(x) paste(x, letters[seq_along(x)], sep="_"))
# [1] "cat_a" "cat_b" "cat_c" "dog_a" "dog_b"