226

我一直在通过 R-Studio 使用 Knitr,并且认为它非常简洁。不过我有一个小问题。当我在 R-Chunk 中获取文件时,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-chunk 选项,但似乎仍然没有避免这个问题:

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

```

有没有办法评论这些消息?

4

4 回答 4

303

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

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

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

```{r message=FALSE}
source("C:/Rscripts/source.R")
```
于 2012-10-26T16:35:57.137 回答
114
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

请参阅Knitr 文档中的块选项

于 2012-10-26T16:35:46.637 回答
7

我对 R Markdown 的最佳解决方案是创建一个代码块,仅用于加载库并排除块中的所有内容。

{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)
于 2016-03-31T01:25:57.923 回答
7

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

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

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

您还可以将这些函数放在脚本中的library()调用周围。"source.R"

于 2017-08-21T14:11:09.207 回答