如何在RPART模型中获得树的深度?

hxd*_*011 2 tree r rpart

假设我用RPART构建了一个玩具树模型,我怎样才能获得树的深度?

library(rpart)
library(partykit)
fit=rpart(factor(am)~.,mtcars,control=rpart.control(cp=0,minsplit = 1))
plot(as.party(fit))
Run Code Online (Sandbox Code Playgroud)

我知道如何计算叶子,对于二叉树,我们可以通过叶子的数量近似深度,但它不直接是树的深度.

sum(fit$frame$var=="<leaf>")
Run Code Online (Sandbox Code Playgroud)

G. *_*eck 6

rpart有一个未导出的函数tree.depth,它给出了传递给它的节点数向量中每个节点的深度.使用问题中的数据:

nodes <- as.numeric(rownames(fit$frame))
max(rpart:::tree.depth(nodes))
## [1] 2
Run Code Online (Sandbox Code Playgroud)