2017-03-17 78 views
0

我想從我的rpart輸出創建一個表(請參見下文)。R rpart創建終端節點表

表基本上應包含以下變量作爲數據幀: - 終端節點號(下面4,10,22,23,3的例子) - 終端節點觀察 - 終端節點目標CNT(數缺席或存在於每個節點中)

但是我想在更改或修剪樹時自動執行此操作。

有什麼建議嗎?

library(rpart) 
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis) 
rp 
+0

'$ RP已經frame'所有你想要的信息 – rawr

回答

0

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