2016-03-23 93 views
0

我正在使用rpart生成分類樹。我需要每個節點的深度,以便識別更孤立(距離父節點更遠)的節點以及更接近父節點的節點。有誰知道我如何獲得這些信息?提前致謝!節點深度rpart

回答

0

我不確定你想要的深度是父母的數量還是孩子的數量。這可能有助於使用partykit包中計算子級數的​​方法。強迫從rpartparty,然後使用nodeapply()時,您可以使用此:

## packages 
library("rpart") 
library("partykit") 
## rpart tree 
rp <- rpart(Species ~ ., data = iris) 
## coercion to party 
pr <- as.party(rp) 
plot(pr) 
## query depth of each node 
nodeapply(pr, ids = nodeids(pr), depth) 
## $`1` 
## [1] 2 
## 
## $`2` 
## [1] 0 
## 
## $`3` 
## [1] 1 
## 
## $`4` 
## [1] 0 
## 
## $`5` 
## [1] 0 

你可以看一下的depth.party()源代碼通過遞歸樹怎麼看這個週期。可以使用類似的代碼來查找父母的層數。