R 更改multiphylo对象的尖端标签

R 更改multiphylo对象的尖端标签,r,phylogeny,R,Phylogeny,答案和问题与此帖子相关:。我有旧的提示标签,因为分类发生了变化,我想用新的提示标签替换。对于R中的multiPhylo对象,我将如何执行此操作?我有一个随机分布的树,从后面我想用新的分类名称更新。multiPhylo对象只是phylo对象的列表,因此修改它们的最佳方法是使用Lappy 首先,您应该定义允许重命名提示的函数 ## Function for renaming tips rename.tips.phylo <- function(tree, names) { tree$t

答案和问题与此帖子相关:。我有旧的提示标签,因为分类发生了变化,我想用新的提示标签替换。对于R中的multiPhylo对象,我将如何执行此操作?我有一个随机分布的树,从后面我想用新的分类名称更新。

multiPhylo
对象只是
phylo
对象的列表,因此修改它们的最佳方法是使用
Lappy

首先,您应该定义允许重命名提示的函数

## Function for renaming tips
rename.tips.phylo <- function(tree, names) {
    tree$tip.label <- names
    return(tree)
}
现在,您的所有提示标签都已重命名:

## First tree
random_trees_renamed[[1]]$tip.label
#[1] "A" "B" "C" "D" "E"
## 42nd tree
random_trees_renamed[[42]]$tip.label
#[1] "A" "B" "C" "D" "E"

multiPhylo
对象只是
phylo
对象的列表,因此修改它们的最佳方法是使用
lappy

首先,您应该定义允许重命名提示的函数

## Function for renaming tips
rename.tips.phylo <- function(tree, names) {
    tree$tip.label <- names
    return(tree)
}
现在,您的所有提示标签都已重命名:

## First tree
random_trees_renamed[[1]]$tip.label
#[1] "A" "B" "C" "D" "E"
## 42nd tree
random_trees_renamed[[42]]$tip.label
#[1] "A" "B" "C" "D" "E"

除此之外,它还需要一个向量来区分哪些是旧名称,哪些是新名称。我将用tree$tip.label替换函数中的一行。除此之外,它还需要一个向量来区分哪些是旧名称,哪些是新名称。我将用tree$tip.label替换函数中的一行