Подавить вывод, сохранить пандер и график в уценке R - PullRequest
0 голосов
/ 18 июня 2019

У меня есть следующий код в моем файле Rmd:

library(randomForestSRC)
library(ggRandomForests)
rf_all <- rfsrc(Y ~ ., data=df, block.size=1, ntree=100, importance=TRUE)
plot(gg_vimp(vimp.rfsrc(rf_all))) + theme(legend.position = "none") 
rf_select <- var.select.rfsrc(rf_all)
pander(rf_select$varselect)
confmat <- confusionMatrix (rf_all$class.oob, data$Enddiagnosegruppe)
pander(confmat$table)   

Я пытаюсь создать отчет в формате HTML, но я не могу до конца жизни выяснить, какие варианты чанка использовать так, чтобы:

  1. Вывод функций rfsrc подавлен.
  2. Появляются все графики.
  3. Звонки в pander дают правильно отформатированный вывод.

Я перепробовал практически все комбинации параметров чанков для сообщений, предупреждений, ошибок, а также обертывания частей моего кода в invisible (), capture.output (), а также поигрывался с panderOptions ('knitr. auto.asis ', FALSE). Кажется, ничего не работает, либо сообщения не подавляются, таблицы pander выглядят странно, пустые заголовки разделов появляются из ниоткуда (я предполагаю, что "##" вставлено куда-то), не повезло. Я чувствую, что скучаю по лесу за деревьями здесь. Не говоря уже о том, что этот код должен быть заключен в цикл, который генерирует различные формулы. Любые предложения о том, как заставить это работать?

1 Ответ

0 голосов
/ 19 июня 2019

Используя следующие работы:

rf_select <- var.select.rfsrc(rf_all, verbose=FALSE)
cat("\n")
pander(rf_select$varselect)

Проблема в том, что var.select.rfsrc () использует cat () вместо message (), и необходимо каким-то образом добавить новую строку, поскольку в противном случае первая таблица pander запускается вместе с предыдущей строкой в ​​файле уценки.

...