如何在R的散点图中绘制分类树的拆分条件?

如何在R的散点图中绘制分类树的拆分条件?,r,tree,R,Tree,我为一个模拟数据用一个输出和两个预测器在R中拟合了一棵树 如下图所示,我想用我在R中的模型画一条虚线。有什么方法可以做到这一点吗?我试图绘制条件=0的线,但这些线是从最小值到最大值的数据 这就是我到目前为止对最后两个类的iris数据和硬编码条件所做的 iristree<-tree(Species ~.,data=iris) iristree #find split criterions node), split, n, deviance, yval, (yprob)

我为一个模拟数据用一个输出和两个预测器在R中拟合了一棵树

如下图所示,我想用我在R中的模型画一条虚线。有什么方法可以做到这一点吗?我试图绘制条件=0的线,但这些线是从最小值到最大值的数据

这就是我到目前为止对最后两个类的iris数据和硬编码条件所做的

    iristree<-tree(Species ~.,data=iris)
    iristree #find split criterions 
node), split, n, deviance, yval, (yprob)
  * denotes terminal node

1) root 150 329.600 setosa ( 0.33333 0.33333 0.33333 )  
   2) Petal.Length < 2.45 50   0.000 setosa ( 1.00000 0.00000 0.00000 ) *
   3) Petal.Length > 2.45 100 138.600 versicolor ( 0.00000 0.50000 0.50000 )  
     6) Petal.Width < 1.75 54  33.320 versicolor ( 0.00000 0.90741 0.09259 )  
      12) Petal.Length < 4.95 48   9.721 versicolor ( 0.00000 0.97917 0.02083 )  
        24) Sepal.Length < 5.15 5   5.004 versicolor ( 0.00000 0.80000 0.20000 ) *
        25) Sepal.Length > 5.15 43   0.000 versicolor ( 0.00000 1.00000 0.00000 ) *
      13) Petal.Length > 4.95 6   7.638 virginica ( 0.00000 0.33333 0.66667 ) *
     7) Petal.Width > 1.75 46   9.635 virginica ( 0.00000 0.02174 0.97826 )  
      14) Petal.Length < 4.95 6   5.407 virginica ( 0.00000 0.16667 0.83333 ) *
      15) Petal.Length > 4.95 40   0.000 virginica ( 0.00000 0.00000 1.00000 ) *

    ....
plot(iris$Petal.Length, iris$Petal.Width, pch=21, 
         bg=c("red","green3","blue")[unclass(iris$Species)], 
         main="Edgar Anderson's Iris Data")
lines(c(0,8),c(1.75,1.75)) # manually put split criterions
lines(c(4.95,4.95),c(0,3))  # manually put split criterions
iristree 2.45 100 138.600花色(0.000000.50000 0.50000)
6) 花瓣宽度<1.75 54 33.320花色(0.00000 0.90741 0.09259)
12) 花瓣长度<4.95 48 9.721花色(0.000000.97917 0.02083)
24)萼片长度<5.15 5.004花色(0.000000.80000 0.20000)*
25)萼片长度>5.15 43 0.000花色(0.000001.000000.00000)*
13) 花瓣长度>4.95 6 7.638维吉尼亚(0.00000 0.33333 0.66667)*
7) 花瓣宽度>1.75 46 9.635维吉尼亚(0.000000.02174 0.97826)
14) 花瓣长度<4.9565.407维吉尼亚(0.000000.16667 0.83333)*
15) 花瓣长度>4.95 40 0.000维吉尼亚(0.000000.000001.00000)*
....
绘图(iris$Petal.Length,iris$Petal.Width,pch=21,
bg=c(“红色”、“绿色3”、“蓝色”)【未分类(鸢尾属$物种)】,
main=“埃德加·安德森的虹膜数据”)
行(c(0,8),c(1.75,1.75))#手动放置拆分标准
行(c(4.95,4.95),c(0,3))#手动放置拆分标准
这就产生了


我打算删除底部和左侧的行

我在
tree
包中找到了
partition.tree
。有了这个功能,我可以制作以下图片。


虽然这不是我想要的,但这是我能做的最接近的事情。

你能提供一个可复制的例子来说明你的模型是什么吗?您可以通过显示创建它的代码(以及可复制的输入)或在输出上使用
dput
。@DavidRobinson更新了我的答案。谢谢你的评论。