R rpart创建终端节点表
问题描述:
我想从我的rpart输出创建一个表(请参见下文)。R rpart创建终端节点表
表基本上应包含以下变量作为数据帧: - 终端节点号(下面4,10,22,23,3的例子) - 终端节点观察 - 终端节点目标CNT(数缺席或存在于每个节点中)
但是我想在更改或修剪树时自动执行此操作。
有什么建议吗?
library(rpart)
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
rp
答
rp$frame$var
告诉你一个节点是否是一片叶子。有点模糊的是节点号是rp $ frame中的行名。所以,你想要的是
rownames(rp$frame)[rp$frame$var == "<leaf>"]
[1] "4" "10" "22" "23" "3"
如果你想数字而不是字符串看起来像数字,你可以使用
as.numeric(rownames(rp$frame)[rp$frame$var == "<leaf>"])
[1] 4 10 22 23 3
'$ RP已经frame'所有你想要的信息 – rawr