You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R Studio中绘制决策树报错:data需为data.frame或可转换对象

问题原因

rpart.plot()函数的作用是直接生成决策树的基础绘图,它的返回值是一个包含绘图坐标、颜色等信息的列表,并非ggplot2要求的数据框(或可被fortify()转换的对象)。你把这个列表传给geom_raster()的data参数,自然会触发“data必须是数据框”的错误。

解决方案

方案1:直接使用rpart.plot绘图(最简单)

不需要额外的ggplot2代码,直接执行rpart.plot()就会在RStudio绘图窗口生成图形:

library(rpart.plot)

# 直接绘制决策树,无需赋值给变量
rpart.plot(modelo_arbol, type = 2, extra = 101, under = TRUE, fallen.leaves = TRUE)

方案2:用ggplot2渲染决策树(需借助专门包)

如果一定要用ggplot2的语法绘制,推荐使用ggparty包(专门适配ggplot的决策树绘图工具),示例代码如下:

library(ggparty)
library(rpart)

# 假设modelo_arbol是rpart训练得到的决策树模型
ggparty(modelo_arbol) +
  # 绘制节点分割变量标签
  geom_node_label(aes(label = splitvar), fontface = "bold") +
  # 绘制分割条件
  geom_node_splitvar() +
  # 绘制叶子节点的分布(可根据需求调整)
  geom_node_plot(
    gglist = list(geom_bar(aes(x = "", fill = fitted), stat = "count")),
    shared_axis = TRUE
  ) +
  theme_void()

内容的提问来源于stack exchange,提问作者user17050892

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:22:10