如何从字符串向量中创建一组唯一的名称?

时间:2010-06-01 20:29:41

标签: r

我有一个字符串向量。看看我的矢量,它是awesome

> awesome
[1] "a" "b" "c" "d" "d" "e" "f" "f"

我想创建一个与awesome长度相同的新向量,但必要时,字符串已经被唯一化。例如,我所需函数的有效输出将是

> awesome.uniqueified
[1] "a" "b" "c" "d.1" "d.2" "e" "f.1" "f.2"

是否有一种简单,R-thonic和美丽的方式来做到这一点?我应该说我现实生活中的清单(它不叫awesome)包含25000个mircoarray探针集标识符。

当我开始编写一些通用函数(我确信我能做到)时,我总是很紧张,因为我确信有些R guru过去遇到过这个问题,并用一些不可思议的算法对其进行了修正。甚至不必在向量中存储超过一半的元素。我只是不确定他们可能称之为什么。可能不是uniqueify

1 个答案:

答案 0 :(得分:19)

尝试make.unique(),其中帮助页面的第一个示例已经是正确的:

make.unique(c("a", "a", "a"))
[1] "a"   "a.1"   "a.2"

帮助页面列出了Thomas Minka作为作者。有一天给他买啤酒:))