抑制输出,在 R markdown 中保留 pander 和 plot

Suppress output, keep pander and plot in R markdown

我的 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',假)。似乎没有任何效果,或者消息没有被抑制,pander 表看起来很奇怪,空白部分 headers 突然出现(我猜“##”被插入某处),运气不好。感觉这里只见树木不见森林。更不用说这段代码应该包含在一个生成不同公式的循环中。关于如何让它工作有什么建议吗?

使用以下作品:

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

问题是 var.select.rfsrc() 使用 cat() 而不是 message(),并且以某种方式添加换行符是必要的,否则第一个 pander table 是 运行与降价文件中的前一行。