R – Markdown避免包加载消息

我一直在使用R-Studio的Knitr,并认为它非常整洁。 虽然我有一个小问题。 当我在R-Chunk中input文件时,knitr输出包括外部注释,如下所示:

+ FALSE Loading required package: ggplot2 + FALSE Loading required package: gridExtra + FALSE Loading required package: grid + FALSE Loading required package: VGAM + FALSE Loading required package: splines + FALSE Loading required package: stats4 + FALSE Attaching package: 'VGAM' + FALSE The following object(s) are masked from 'package:stats4': 

我试图以各种方式设置R块选项,但仍似乎没有避免这个问题:

 ```{r echo=FALSE, cache=FALSE, results=FALSE, warning=FALSE, comment=FALSE, warning=FALSE} source("C:/Rscripts/source.R"); ``` 

有什么办法来评论这些消息?

您可以使用include=FALSE来排除块中的所有内容。

 ```{r include=FALSE, cache=FALSE} source("C:/Rscripts/source.R") ``` 

如果您只想抑制消息,请改为使用message=FALSE

顺便说一下,请查阅块选项的文档以获取可能的值,例如FALSE不是选项results的可能值。

 ```{r results='hide', message=FALSE, warning=FALSE} library(RJSONIO) library(AnotherPackage) ``` 

请参阅Knitr文档中的块选项

我在R Markdown上的最佳解决scheme是创build一个代码块,仅用于加载库并排除块中的所有内容。

 {r results='asis', echo=FALSE, include=FALSE,} knitr::opts_chunk$set(echo = TRUE, warning=FALSE) #formating tables library(xtable) #data wrangling library(dplyr) #text processing library(stringi) 

这是一个古老的问题,但这是另一种方法。

您可以通过将source调用包装在suppressPackageStartupMessages()suppressMessages()和/或suppressWarnings()来修改R代码本身而不是块选项。 例如:

 ```{r echo=FALSE} suppressWarnings(suppressMessages(suppressPackageStartupMessages({ source("C:/Rscripts/source.R") }) ``` 

你也可以把这些函数放在你的library()调用里面的"source.R"脚本中。