r - 在 rpart 分类树中打印没有科学记数法的日期

标签 r rpart rattle

当我创建一个在节点处使用日期截止的 rpart 树时,我使用的打印方法 - rpart.plotfancyRpartPlot - 以科学格式打印日期符号,这使得很难解释结果。这是 fancyRpartPlot:

enter image description here

有没有办法用更易解释的日期值打印这棵树?该树状图毫无意义,因为所有这些日期看起来都一样。

这是我创建树并以两种方式绘制的代码:

library(rpart) ; library(rpart.plot) ; library(rattle)
my_tree <- rpart(a ~ ., data = dat)
rpart.plot(my_tree)
fancyRpartPlot(my_tree)

使用此数据:

# define a random date/time selection function
generate_days <- function(N, st="2012/01/01", et="2012/12/31") {
  st = as.POSIXct(as.Date(st))
  et = as.POSIXct(as.Date(et))
  dt = as.numeric(difftime(et,st,unit="sec"))
  ev = runif(N, 0, dt)
  rt = st + ev
  rt
}

set.seed(1)
dat <- data.frame(
  a = runif(1:100),
  b = rpois(100, 5),
  c = sample(c("hi","med","lo"), 100, TRUE),
  d = generate_days(100)
)

最佳答案

从实际的角度来看,也许您只想使用从数据开始算起的天数:

dat$d <- dat$d-as.POSIXct(as.Date("2012/01/01"))
my_tree <- rpart(a ~ ., data = dat)
rpart.plot(my_tree,branch=1,extra=101,type=1,nn=TRUE)

enter image description here

这将数字减少到易于管理和有意义的程度(尽管可能不像特定日期那样有意义)。您甚至可能希望将其四舍五入到最近的一天或一周。 (我不能在我的电脑上安装 GTK+,所以我不能使用 fancyRpartPlot。)

关于r - 在 rpart 分类树中打印没有科学记数法的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683548/

相关文章:

r - 使用插入符号库修剪树返回复杂的树

r 拨浪鼓fancyrpartplot 错误

替换数据框中的特殊字符

r - 两个函数相乘

r - 在 R 中使用 rpart 函数时,在 ExtractVars 中获取无效的模型公式

r - 如何从 rpart 对象中提取树结构?

R: 运行rattle() 时出错 - "Invalid root element: ' 需要'"

r - CentOS 6.5 : Howto install GTK version 2. 8.0?

html - `css` 的 `html_page()` 参数是否与 blogdown 中的 `build_site(method = ' html')` 一起使用?

r - 在 R 中的每第 n 个实例处插入一个字符