提取lmtree对象

时间:2018-01-19 20:20:07

标签: r partitioning party

我正在使用partykit包中的lmtree函数 我正在寻找一个类似于path.rpart函数的函数,即 一个函数,它在列表中给出从根到所选节点的路径上的拆分。

它想要类似的东西:

 set.seed(1)
 library(rpart)
 x=runif(100);z=runif(100);y=jitter(ifelse(z>.5,2*x,3*x+2),amount=.1);
 rp=rpart(x~y)
 path.rpart(rp,5)

 #node number: 5 
 #root
 #y< 0.8785
 #y>=0.4081

使用lmtree:

 library(partykit)
 tr=lmtree(x~y|z)
 #and here I need a function similar to path.rpart

我检查了node_party和get_paths函数,但这不是我需要的。 有没有人建议从lmtree对象中提取这些信息? 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

lmtree的模型继承自party,就像ctree()的输出一样。因此,此处讨论的用于ctree()输出的SO的相同方法也可以应用于lmtree()输出。也就是说,您可以使用(仍然未导出的).list.rules.party()函数:

partykit:::.list.rules.party(tr)
##                        2                        3 
## "z <= 0.495593577856198"  "z > 0.495593577856198" 

如需进一步调整,请参阅: