gpt4 book ai didi

r - 如何在 rpart 回归 TreeMap 中将绘制的数字从科学记数法更改为标准形式?

转载 作者:行者123 更新时间:2023-12-04 08:28:32 28 4
gpt4 key购买 nike

我正在使用 rpart.plot用于绘制回归树的包。如何将树底部的数字从科学记数法转换为标准格式?比如我想改14e+314000 .
这是我正在使用的代码:

library(rpart.plot)
rpart.plot(tm1, type=5, digits = 2, fallen.leaves = T)
结果如下:
Regression Tree Example

最佳答案

这是一个棘手的问题,因为包作者决定用科学记数法进行硬编码。
如果我们查看 source code ,有一个
功能 rpart.plot:::format0格式化 0.001 之间的任何值和 9999 .
因此,一种方法是创建一个覆盖这些默认值的副本并将其分配到 rpart.plot 中。命名空间。
首先,一个示例树:

library(nycflights13)
library(rpart.plot)
fit <- rpart(carrier ~ origin + distance, data = flights[flights$carrier %in% c("UA","AA","DL"),])
rpart.plot(fit, type = 5, digits = 2, fallen.leaves = TRUE, extra = 101)
enter image description here
注意科学记数法。
现在,我们将创建副本并将其命名为 myformat0 .我们需要使用 :::用于几个函数,因为它们不是从 rpart.plot 导出的.请注意,我替换了 9999100000 ,但您可以使用任何您想要的数字。
myformat0 <- function(x, digits=2)
{
rpart.plot:::check.integer.scalar(digits)
if(digits == 0)
digits <- getOption("digits")
if(digits >= 0)
rpart.plot:::formate(x, digits, smallest=.001, largest=100000)
else
sapply(x, format, digits=-digits)
}
现在我们需要将我们的自定义函数分配给 rpart.plot命名空间。我们可以使用 assignInNamespace :
assignInNamespace("format0", myformat0, ns = "rpart.plot")
现在的情节:
rpart.plot(fit, type = 5, digits = 2, fallen.leaves = TRUE, extra = 101)
enter image description here

关于r - 如何在 rpart 回归 TreeMap 中将绘制的数字从科学记数法更改为标准形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65136022/

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