使用R的partykit包绘制cforest生成的单棵树时遇错误求助
解决cforest提取单棵树后绘图报错的问题
问题根源
gettree()从cforest返回的只是底层的树结构列表,并不是partykit包中plot()方法支持的party类对象,直接调用绘图函数会因数据类型不兼容触发错误。
修复方案
把提取的树结构转换成party对象后再绘图,有两种简洁的实现方式:
方式一:分步转换绘图
library(partykit) # 构建条件推断森林 cf <- cforest(Species ~., data=iris) # 提取单棵树并转为party对象 tr <- as.party(gettree(cf, tree=1)) # 绘制树 plot(tr)
方式二:一步完成提取与绘图
library(partykit) cf <- cforest(Species ~., data=iris) # 直接提取第1棵树并转为party对象后绘图 plot(as.party(cf, tree = 1))
额外优化
转换后的party对象支持partykit的各类可视化参数,比如可以简化绘图样式、添加标题:
plot(as.party(cf, tree = 1), type = "simple", main = "cforest中第1棵条件推断树")
内容的提问来源于stack exchange,提问作者Junjie HE
相关产品推荐
相关产品推荐

