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"
脚本中。