【发布时间】:2016-07-05 18:42:45
【问题描述】:
在基因组学研究中,您经常有许多带有重复基因名称的字符串。我想找到一种仅将唯一基因名称保留在字符串中的有效方法。这是一个有效的例子。但是,是否可以一步完成,即不必拆分整个字符串,然后将唯一的元素重新组合在一起?
genes <- c("GSTP1;GSTP1;APC")
a <- unlist(strsplit(genes, ";"))
paste(unique(a), collapse=";")
[1] "GSTP1;APC"
【问题讨论】:
-
这只是将其合并为一行:
paste(unique(unlist(strsplit(genes, ";")),collapse=";"))。 -
我在堆栈上看到了这个:stackoverflow.com/questions/20283624/…
-
如果你能找到更好的东西,我会感到非常惊讶。除了可能将
fixed = TRUE添加到strsplit以提高效率。还有stringi::stri_unique声称比 NLP 更适合base::unique(但也慢得多)。 -
你可以自己写一个函数来完成这两部分......