Rpart 结果在 R 中转换为 PDF 文件

Rpart Outcome into PDF files in R

我正在构建一些回归树模型,我已经完成了所有工作,现在我想将树写入 pdf 文件。我正在使用以下命令生成它。

pdf(file=paste0("Plots1.pdf"), header= "Rpart Outcome" )
lapply(names(tree.2), function(x)fancyRpartPlot(tree.2[[x]]))
dev.off()

tree.2 object包含8个不同模型的rpart,保存为列表

上面的命令很有用,但问题是我想根据列表树的名称在每个 PDF 页面的顶部单独 header。2 (names(tree.2)) ,我尝试了很多不同的排列和组合,但无法通过 lapply 解决它,但是如果我使用 for loop ,上述事情是可以实现的。我想使用 lapply 来执行此操作,这可能吗?我知道,但我暂时做不到。

这里使用的库: rattle, rpart

玩具示例:

tree1 <- rpart(as.formula(mpg ~ hp + wt), data=mtcars)
tree2 <- rpart(as.formula(mpg ~ am + hp), data=mtcars)
treex <- list("tree1"= tree1, "tree2"=tree2)

pdf(file="file.pdf", header="Rpart Outcome")
lapply(names(treex), function(x)fancyRpartPlot(treex[[x]]))
dev.off()

在这里,我想要 header 每个页面的基础名称(treex)。

请让我知道如果它是一个重复的问题(还没有找到一个),我会立即删除。

谢谢

这似乎对我有用:

library(rpart)
  library(rattle)

  tree1 <- rpart(as.formula(mpg ~ hp + wt), data=mtcars)
  tree2 <- rpart(as.formula(mpg ~ am + hp), data=mtcars)
  treex <- list("tree1"= tree1, "tree2"=tree2)

  pdf(file="file.pdf")#, header="Rpart Outcome")
  lapply(names(treex), function(x)fancyRpartPlot(treex[[x]], main = x))
  dev.off()

我刚刚在 fancyRpartPlot 中添加了一个参数 main,它采用了情节的名称。

希望对您有所帮助!