In der Genomforschung haben Sie oft viele Strings mit doppelten Gennamen. Ich möchte einen effizienten Weg finden, nur die eindeutigen Gennamen in einer Zeichenkette zu behalten. Dies ist ein Beispiel, das funktioniert. Aber ist es nicht möglich, dies in einem Schritt zu tun, d. H. Ohne die gesamte Saite aufteilen zu müssen und dann die einzigartigen Elemente wieder zusammen passieren zu müssen?behalten Sie nur eindeutige Elemente in Zeichenfolge in r
genes <- c("GSTP1;GSTP1;APC")
a <- unlist(strsplit(genes, ";"))
paste(unique(a), collapse=";")
[1] "GSTP1;APC"
Das es nur vereint in eine Zeile: 'paste (unique (unlist (strsplit (gene,"; ")), collapse ="; "))'. – lmo
Ich habe dieses auf Stapel gesehen: http://stackoverflow.com/questions/20283624/removing-duplicate-words-in-a-string-in-r –
Ich werde wirklich überrascht sein, wenn Sie etwas besseres finden. Außer vielleicht ''' 'TRUE' 'TRUE' '' strsplit'' für Effizienzgewinn hinzuzufügen.Es gibt auch 'straii :: stri_unique', das behauptet, für NLP besser geeignet zu sein als' base :: unique' (aber auch viel langsamer). –