简体   繁体   English

索引向量中的重复元素

[英]Indexing repeated elements in a vector

I would like to take a vector: 我想取一个向量:

x <- c(rep("cat",3), rep("dog",2))

[1] "cat" "cat" "cat" "dog" "dog"

and turn it into: 并将其转换为:

[1] "cat_a" "cat_b" "cat_c" "dog_a" "dog_b"

Where each unique element is index with "_" plus a letter. 其中每个唯一元素都是带有“ _”和字母的索引。

Using base functions you can do 使用基本功能,您可以做

ave(x, x, FUN=function(x) paste(x, letters[seq_along(x)], sep="_"))
# [1] "cat_a" "cat_b" "cat_c" "dog_a" "dog_b"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM