0

我正在使用apeR 中的包。我想要subtree一个phylogenetic树中所有可能的列表。然后我想遍历子树列表并获取每个子树的根。我的问题是,为每个子树列出的第一个内部节点是该子树的根吗?

一个例子可能会更好地说明我的问题。我创建了一个包含 12 个提示的随机树,然后提取子树。我已经复制了子树 1 的输出。然后 R 列出了一些内容,包括Node labels: 13, 14, ...每个子树的内容。节点标签中列出的第一个节点(在本例中为节点 13)是否始终是子树的根?

phy = rtree(12)

st = subtrees(phy)

>st[[1]]

> st

[[1]]

Phylogenetic tree with 12 tips and 11 internal nodes.

Tip labels:
    t12, t2, t10, t1, t9, t4, ...

Node labels:
    13, 14, 15, 16, 17, 18, ...

Rooted; includes branch lengths.
4

1 回答 1

1

情况似乎如此。为了验证,您可以通过将树转换为 data.tree 结构来可视化树:

library(data.tree)
tr <- as.Node(phy)
print(tr)

这将显示为:

                        levelName
1  13                            
2   ¦--t7                        
3   °--14                        
4       ¦--15                    
5       ¦   ¦--t5                
6       ¦   °--t6                
7       °--16                    
8           ¦--17                
9           ¦   ¦--18            
10          ¦   ¦   ¦--19        
11          ¦   ¦   ¦   ¦--20    
12          ¦   ¦   ¦   ¦   ¦--t2
13          ¦   ¦   ¦   ¦   °--t9
14          ¦   ¦   ¦   °--t12   
15          ¦   ¦   °--t4        
16          ¦   °--21            
17          ¦       ¦--22        
18          ¦       ¦   ¦--t3    
19          ¦       ¦   °--t1    
20          ¦       °--23        
21          ¦           ¦--t10   
22          ¦           °--t11   
23          °--t8                
于 2016-06-06T12:24:34.937 回答