Edit: clarification
我想在R中重命名我的nwk樹的tip.labels
。當前標簽的示例是:
AB177299.1 Uncultured bacterium gene for 16S rRNA, clone: ODP1251B1.3
但我只是想要開頭的數字ID,所以AB177299.1
。我的第一個傾向是在tree$tip.label
上使用gsub()
,但我的問題是每個數字ID和下面的文本對于每個提示都是不同的。然后,如果我能夠使用order()
準確地替換每個ID,我創建了一個所有數字ID的字符向量,這些ID可以用作提示名稱。
tip.ids <- rownames(taxonomy)
tree$tip.label[order(tree$tip.label) %in%
tip.ids] <- tip.ids
這并沒有改變我樹上的任何東西,我不知所措。
為了再現性。taxonomy
不包括在內,因為您只需要tip.ids
> dput(tip.ids)
c("AB109878.1", "AB109879.1", "AB109880.1", "AB109881.1", "AB109882.1",
"AB109883.1", "AB109884.1", "AB109885.1")
> dput(tree)
structure(list(edge = structure(c(9L, 10L, 10L, 9L, 11L, 11L,
12L, 13L, 13L, 12L, 14L, 14L, 15L, 15L, 10L, 1L, 2L, 11L, 3L,
12L, 13L, 4L, 5L, 14L, 6L, 15L, 7L, 8L), dim = c(14L, 2L)), edge.length = c(0.0341921975,
5e-09, 0.12821348, 0.000367458500000008, 0.027617765, 0.037677039,
0.028633124, 0.014468092, 5e-09, 0.009763081, 0.078168769, 0.021640684,
0.341568464, 0.092957415), Nnode = 7L, node.label = c("root",
"0.917", "", "0.929", "0.921", "0.302", "0.692"), tip.label = c("'AB109881.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-4'",
"'AB109880.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-3'",
"'AB109883.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-6'",
"'AB109879.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-2'",
"'AB109884.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-7'",
"'AB109878.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-1'",
"'AB109882.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-5'",
"'AB109885.1 Uncultured archaeon gene for 16S rRNA, partial sequence, clone:pMLA-8'"
)), class = "phylo", order = "cladewise")
也許其中一個選項對你有用。