rpart.plot和prp函数中的额外参数不适用于anova方法:解决方案或替代方案

时间:2018-01-02 13:21:44

标签: r rpart

我在"额外"来自rpart.plot函数的参数。基本上,只有" extra = 1"工作,从2到4的所有其他数值抛出错误。使用mtcars数据集,这是我的代码:

  1. 创建树:

    library(rpart)
    library(rpart.plot)
    data("mtcars")
    
    mytree <- rpart(cyl ~ ., mtcars,control=rpart.control(minsplit=1, 
    minbucket=1, cp = 0.001), method = "anova")
    
  2. 使用rpart.plot或prp函数绘制树:

    rpart.plot(mytree, extra=1)
    prp(mytree, type=4, extra=1)
    
  3. 现在,更改&#34; extra = 1&#34;到&#34;额外= 2&#34; (或3或4)不起作用。我得到的错误信息是:

    Error: extra=4 is illegal (for method="anova")
    

    现在,我选择了&#34; anova&#34;方法因为&#34;类&#34;方法似乎不适用于我的数据集(R studio基本上崩溃),而anova方法非常有效。

    1. 我可以用anova方法解决这个问题吗?如果是,怎么样?
    2. 我应该使用其他方法,然后了解崩溃的原因吗?我使用的数据集并不是很疯狂,所以我很难看到我能做些什么来解决这个问题。
    3. 事先感谢所有的帮助!

      干杯, d。

1 个答案:

答案 0 :(得分:1)

如评论所述,“extra = 4选项仅适用于类模型,因为”节点中每类观察的概率“(引用rpart.plot帮助页面)对于anova模型没有意义。”所以问题更多的是为什么类方法不适用于我的数据集。