2016-06-05 4 views
0

나는 R에서 ape 패키지로 작업하고 있습니다. 트리에서 가능한 모든 목록을 원합니다. subtree. 그런 다음 하위 트리 목록을 반복하고 모든 하위 트리의 루트를 가져 오려고합니다. 내 질문은 각 하위 트리에 대해 나열된 첫 번째 내부 노드가 해당 하위 트리의 루트인지 여부입니다.하위 트리() - 내부 노드는 하위 트리에 어떻게 레이블링됩니까?

예를 들어 더 잘 설명 할 수 있습니다. 나는 12 개의 힌트를 가진 무작위 나무를 창조하고, 그 후에 subtrees를 추출한다. 하위 트리 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. 

답변

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     
관련 문제