gpt4 book ai didi

r - rpart.plot中的颜色节点(按匹配节点的颜色列表)

转载 作者:行者123 更新时间:2023-12-04 10:33:03 24 4
gpt4 key购买 nike

在rpart.plot函数中(从rpart.plot包扩展到rpart包),有一个参数box.col,它控制树中节点的颜色。如何设置它为节点着色,以使相同响应的节点着色相同?

我用box.col参数尝试了许多不同的变体,例如使用cols作为因子,它忽略了所选的颜色。我到目前为止最接近的信息如下所示


set.seed(1);x <- runif(100)
set.seed(2);y <- runif(100)

data <- matrix(c(x,y),ncol=2)
fact <- as.numeric(factor(--((x > 0.5 & y < 0.5))))
fact[x < 0.1] = 3
cols <- (c("grey80", "red", "blue"))


plot(data, col=fact)

t1 <- rpart(factor(fact) ~ data)
rpart.plot(t1, type=5, extra=2,
box.col=cols)



Example failed plot
我希望/希望每个匹配的响应节点被涂成相同的颜色。在给定的代码中,我希望'1'节点为grey80,'2'为红色,而'3'为蓝色。上图显示了实际发生的情况,这没有帮助。

正如在第一部分中提到的,我如何设置它以使其为节点着色,从而使相同响应的节点具有相同的着色?

最佳答案

如何使用box.pallete属性

rpart.plot(t1, type=5, extra=2,
box.palette = list('grey80','red','blue'))


enter image description here

有关更多说明,如果在 factor中将cols设置为 rpart.plot,cols将按顺序关联到每个节点。

例如,

>t1

1) root 100 29 1 (0.7100000 0.2200000 0.0700000) # --> 'grey80'
2) data1>=0.1037049 93 22 1 (0.7634409 0.2365591 0.0000000) # --> 'red'
4) data1< 0.5413779 47 0 1 (1.0000000 0.0000000 0.0000000) * # --> 'blue'
5) data1>=0.5413779 46 22 1 (0.5217391 0.4782609 0.0000000) # --> 'grey80'
10) data2>=0.4849942 24 0 1 (1.0000000 0.0000000 0.0000000) * # --> 'red'
11) data2< 0.4849942 22 0 2 (0.0000000 1.0000000 0.0000000) *# --> 'blue'
3) data1< 0.1037049 7 0 3 (0.0000000 0.0000000 1.0000000) * # --> 'grey 80'

关于r - rpart.plot中的颜色节点(按匹配节点的颜色列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com