【问题标题】:rename phylo tip labels重命名 phylo 提示标签
【发布时间】:2018-11-04 17:15:46
【问题描述】:

我想在我的 phylo 类树中给一个物种一个新名称(使用 ape 包)。

我试过了:

tree$tip.label["speciesX"] <- "speciesY"

这并没有达到我想要的效果。有什么建议么?

【问题讨论】:

    标签: r phylogeny ape-phylo


    【解决方案1】:

    问题是你不能以你想要的方式索引提示标签(你想替换 value 为“speciesX”的提示标签,而不是 name 是“speciesX”;尖端标签向量没有名称)。听起来很傻,您需要像 tree$tip.label[tree$tip.label=="speciesX"] 这样的东西来确定要替换的正确值。

    例子:

    ## create a tree, from ?read.tree
    s <- "owls(((Strix_aluco:4.2,Asio_otus:4.2):3.1,Athene_noctua:7.3):6.3,Tyto_alba:13.5);"
    cat(s, file = "ex.tre", sep = "\n")
    tree.owls <- read.tree("ex.tre")
    

    重命名:

    tree.owls$tip.label[tree.owls$tip.label=="Asio_otus"] <- "something_else"
    

    您可以编写一个函数来执行此操作,例如(未测试!)

    rename.tips <- function(phy, old_names, new_names) {
       mpos <- match(old_names,phy$tip.labels)
       phy$tip.labels[mpos] <- new_names
       return(phy)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2021-12-12
      相关资源
      最近更新 更多