Rpart Outcome в PDF-файлы в R

Я строю некоторые модели деревьев регрессии, я все сделал, теперь я хочу записать деревья в PDF-файл. Я использую приведенную ниже команду для его генерации.

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

Объект tree.2 содержит 8 различных моделей rpart и он сохраняется в виде списка.

Вышеупомянутая команда работает как шарм, но проблема в том, что я хочу отдельный заголовок в верхней части каждой страницы PDF в соответствии с именами дерева списка.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()

Здесь я хочу заголовок на каждой странице названия баз (treex).

Пожалуйста, дайте мне знать, если это дублирующий вопрос (я не нашел его), я немедленно удалю его.

Спасибо

1 ответ

Решение

Кажется, это работает для меня:

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()

Я только что добавил аргумент main в fancyRpartPlot который берет название сюжета.

Надеюсь, поможет!

Другие вопросы по тегам