【发布时间】:2018-01-03 06:24:51
【问题描述】:
我对 rpart.plot 函数的“额外”参数有疑问。基本上,只有 "extra=1" 有效,从 2 到 4 的所有其他数值都会引发错误。使用 mtcars 数据集,这是我拥有的代码:
-
创建树:
library(rpart) library(rpart.plot) data("mtcars") mytree <- rpart(cyl ~ ., mtcars,control=rpart.control(minsplit=1, minbucket=1, cp = 0.001), method = "anova") -
使用 rpart.plot 或 prp 函数绘制树:
rpart.plot(mytree, extra=1) prp(mytree, type=4, extra=1)
现在,将“extra=1”更改为“extra=2”(或 3 或 4)不起作用。我得到的错误信息是:
Error: extra=4 is illegal (for method="anova")
现在,我选择了“anova”方法,因为“class”方法似乎不适用于我的数据集(R studio 基本上崩溃),而 anova 方法效果很好。
- 我可以用方差分析方法解决这个问题吗?如果是,怎么做?
- 我应该使用其他方法然后了解它为什么会崩溃吗?我使用的数据集并不大,所以我很难知道我能做些什么来解决这个问题。
在此先感谢大家的帮助!
干杯, D.
【问题讨论】:
-
您能否提供数据集中的
y。对于mtcars,您所说的问题无法复制。 -
extra=4 选项仅适用于类模型,因为“节点中每类观察的概率”(引用 rpart.plot 帮助页面)对于 anova 模型没有意义。正如上面评论中用户误用所暗示的那样,extra=4, method="class" 适用于 mtcars 数据,因此如果您可以发布您的数据(或直接给我发电子邮件),我们或许能够找出 R studio 行为不端的原因使用您的数据 - 这似乎是这里的真正问题。
-
亲爱的斯蒂芬,非常感谢您的回答!我会尽快把数据发给你。非常感谢!
-
@missuse:谢谢你的回答。问题仍然存在于 cyl ~ mpg (例如),但现在我知道我的下一步是什么。