在r中只保留字符串中的唯一元素

时间:2016-07-05 18:42:46

标签: r string unique

在基因组学研究中,您经常会有许多重复基因名称的字符串。我想找到一种只在字符串中保留唯一基因名称的有效方法。这是一个有效的例子。但是,是否有可能在一个步骤中完成此操作,即无需拆分整个字符串,然后必须将独特元素重新组合在一起?

genes <- c("GSTP1;GSTP1;APC")
a <- unlist(strsplit(genes, ";"))
paste(unique(a), collapse=";")
[1] "GSTP1;APC"

2 个答案:

答案 0 :(得分:1)

另一种方法是

unique(unlist(strsplit(genes, ";")))
#[1] "GSTP1" "APC"

那么这应该给你答案

paste(unique(unlist(strsplit(genes, ";"))), collapse = ";")
#[1] "GSTP1;APC"

答案 1 :(得分:0)

根据示例显示,也许

gsub("(\\w+);\\1", "\\1", genes)
#[1] "GSTP1;APC"