R - Markdown, предотвращающий загрузку пакетов

Я использую Knitr через R-Studio и думаю, что это довольно аккуратно. Однако у меня есть небольшая проблема. Когда я запускаю файл в 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");

```

Есть ли способ прокомментировать эти сообщения?

Ответ 1

Вы можете использовать include=FALSE, чтобы исключить все в куске.

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

Если вы хотите только подавлять сообщения, используйте message=FALSE вместо этого.

BTW, пожалуйста, обратитесь к документации по параметрам chunk для их возможных значений, например. FALSE не является возможным значением для опции results.

Ответ 2

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

см. Параметры Chunk в документах Knitr

Ответ 3

Моим лучшим решением для 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)

Ответ 4

Это старый вопрос, но здесь другой способ сделать это.

Вы можете изменить сам код R вместо опций chunk, обернув вызов source в suppressPackageStartupMessages(), suppressMessages() и/или suppressWarnings(). Например:

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

Вы также можете разместить эти функции вокруг своих вызовов library() внутри "source.R" script.