0

我想访问party对象的平面列表表示中的各个节点。也就是说,我想获得一个节点,它的分裂和孩子以及任何其他属性。我是新手partykit(刚刚开始探索),所以不确定我做错了什么。

require("partykit")
require("RWeka")
data("PimaIndiansDiabetes", package = "mlbench")
j48 <- J48(diabetes ~ ., data=PimaIndiansDiabetes)
j48_party <- as.party(j48)
j48_party_list <- as.list(j48_party)
j48_party_list[1:3]
## Error: length(i) == 1 & is.numeric(i) is not TRUE

谢谢

4

1 回答 1

2

其中partykit只有对象的as.list()方法,partynode而不是整个party对象。前者仅包含一个递归列表节点 ID、变量 ID、拆分等。所有实际的变量名称、数据、拟合值等都没有存储partynodeparty.

因此,as.list(j48_party)它实际上并不生成平面列表,而是j48_party“按原样”返回对象,因为它在内部是一个列表(包含nodedatafittedterms等)。

所以只能生成平面列表,as.list(j48_party$node)但我想这不会有你正在寻找的信息。可能nodeapply()会帮助你得到你想要的……或者小插图中的其他一些例子。

于 2016-01-25T20:27:17.707 回答