R - Markdown evitando mensajes de carga de paquetes

198

He estado usando Knitr a través de R-Studio, y creo que es bastante bueno. Sin embargo, tengo un problema menor. Cuando obtengo un archivo en un R-Chunk, la salida del knitr incluye comentarios externos de la siguiente manera:

+ 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':

Traté de configurar las opciones de R-chunk de varias maneras, pero todavía no parecía evitar el problema:

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

```

¿Hay alguna forma de comentar estos mensajes?

Roark
fuente
2
establecer options(warn=-1)y volver al options(warn=0)final de la Rmd. Se encarga de todos los mensajes del paquete de inicio. Tenga en cuenta que desactivaría las advertencias, pero solo mientras se procesa el Rmd.
Dan Kalleward el

Respuestas:

269

Puede usar include=FALSEpara excluir todo en un fragmento.

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

Si solo desea suprimir mensajes, use message=FALSEen su lugar:

```{r message=FALSE}
source("C:/Rscripts/source.R")
```
Yihui Xie
fuente
El hecho de que resultsno puede ser FALSEes lamentable. Yo prefiero la opción trozo resultspuede dividir en results, holdy markuplos que serían todos los valores booleanos. Por desgracia, no es así como funciona.
Jefe
1
¿Qué pasa si queremos desactivar los mensajes a nivel mundial para TODOS los fragmentos? ¿Cómo lo hace?
Prasad Chalasani
13
@PrasadChalasani knitr::opts_chunk$set(message = FALSE) yihui.name/knitr/options
Yihui Xie
1
@Head resultspuede ser FALSE(que es un alias de results="hide") desde knitr 1.16: github.com/yihui/knitr/issues/1360
Yihui Xie
102
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

ver Opciones de fragmentos en los documentos de Knitr

cbare
fuente
12
El warning=FALSEes el único que trabajó para mí. ¡Definitivamente la mejor manera de incluir el fragmento en su salida sin las advertencias feas!
Alex P. Miller
¿Cómo configurar esto para todo el documento? ¿Tengo que ponerlo en cada fragmento manualmente?
Fadwa
3
@Misaki Vea el comentario de Yihui arriba sobre knitr :: opts_chunk $ set (message = FALSE)
cbare
7

Mi mejor solución en R Markdown fue crear un fragmento de código solo para cargar bibliotecas y excluir todo en el fragmento.

{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)
Paul Tyler
fuente
6

Esta es una vieja pregunta, pero aquí hay otra forma de hacerlo.

Puede modificar el código R sí mismo en vez de las opciones del pedazo, envolviendo la sourcellamada en suppressPackageStartupMessages(), suppressMessages()y / o suppressWarnings(). P.ej:

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

También puede poner esas funciones alrededor de sus library()llamadas dentro del "source.R"script.

Shadowtalker
fuente