R - Markdown évitant les messages de chargement de paquet

198

J'utilise Knitr via R-Studio, et je pense que c'est assez soigné. J'ai un problème mineur cependant. Lorsque je source un fichier dans un R-Chunk, la sortie knitr inclut des commentaires externes comme suit:

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

J'ai essayé de définir les options des blocs R de différentes manières, mais je n'ai toujours pas semblé éviter le problème:

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

```

Existe-t-il un moyen de commenter ces messages?

Roark
la source
2
définir options(warn=-1)et revenir options(warn=0)à la fin de la Rmd. Prend soin de tous les messages du package de démarrage. Notez que vous désactiveriez les avertissements, mais uniquement pendant le rendu du Rmd.
Dan Kalleward

Réponses:

269

Vous pouvez utiliser include=FALSEpour exclure tout dans un bloc.

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

Si vous souhaitez uniquement supprimer les messages, utilisez message=FALSEplutôt:

```{r message=FALSE}
source("C:/Rscripts/source.R")
```
Yihui Xie
la source
Le fait que resultscela ne puisse pas être FALSEest regrettable. Je préférerais l'option morceau resultssoit divisée en results, holdet markupqui seraient tous des valeurs booléennes. Hélas, ce n'est pas ainsi que cela fonctionne.
Tête
1
que faire si nous voulons désactiver les messages globalement pour TOUS les morceaux, comment faites-vous cela?
Prasad Chalasani
13
@PrasadChalasani knitr::opts_chunk$set(message = FALSE) yihui.name/knitr/options
Yihui Xie
1
@Head resultspeut être FALSE(qui est un alias de results="hide") depuis knitr 1.16: github.com/yihui/knitr/issues/1360
Yihui Xie
102
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

voir Chunk Options dans les documents Knitr

cbare
la source
12
C'est warning=FALSEla seule chose qui a fonctionné pour moi. Certainement la meilleure façon d'inclure le morceau dans votre sortie sans les vilains avertissements!
Alex P. Miller,
Comment définir cela pour l'ensemble du document?. Dois-je le mettre manuellement dans chaque morceau?.
Fadwa
3
@Misaki Voir le commentaire de Yihui ci-dessus concernant knitr :: opts_chunk $ set (message = FALSE)
cbare
7

Ma meilleure solution sur R Markdown était de créer un bloc de code uniquement pour charger les bibliothèques et exclure tout ce qui se trouve dans le bloc.

{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
la source
6

C'est une vieille question, mais voici une autre façon de le faire.

Vous pouvez modifier le code R se place des options de gros morceau, en enveloppant l' sourceappel dans suppressPackageStartupMessages(), suppressMessages()et / ou suppressWarnings(). Par exemple:

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

Vous pouvez également placer ces fonctions autour de vos library()appels dans le "source.R"script.

shadowtalker
la source