我有一个字符串向量。看看我的矢量,它是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
。
答案 0 :(得分:19)
尝试make.unique()
,其中帮助页面的第一个示例已经是正确的:
make.unique(c("a", "a", "a"))
[1] "a" "a.1" "a.2"
帮助页面列出了Thomas Minka作为作者。有一天给他买啤酒:))