R - Markdown vermeidet das Laden von Nachrichten

197

Ich habe Knitr über R-Studio verwendet und finde es ziemlich ordentlich. Ich habe jedoch ein kleines Problem. Wenn ich eine Datei in einem R-Chunk beschaffe, enthält die Knitr-Ausgabe externe Kommentare wie folgt:

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

Ich habe versucht, R-Chunk-Optionen auf verschiedene Arten festzulegen, aber das Problem schien immer noch nicht zu vermeiden:

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

```

Gibt es eine Möglichkeit, diese Nachrichten zu kommentieren?

Roark
quelle
2
setzen options(warn=-1)und zurück zum options(warn=0)Ende des Rmd. Kümmert sich um alle Startpaketnachrichten. Beachten Sie, dass Sie Warnungen deaktivieren würden, jedoch nur, während der Rmd gerendert wird.
Dan Kalleward

Antworten:

268

Sie können verwenden include=FALSE, um alles in einem Block auszuschließen.

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

Wenn Sie nur Nachrichten unterdrücken möchten, verwenden Sie message=FALSEstattdessen:

```{r message=FALSE}
source("C:/Rscripts/source.R")
```
Yihui Xie
quelle
Die Tatsache, dass resultsnicht sein kann, FALSEist unglücklich. Ich würde eher die Chunk - Option resultsaufgeteilt in sein results, holdund markupdie würden alle Boolesche Werte sein. Leider funktioniert das nicht so.
Kopf
1
Was ist, wenn wir Nachrichten für ALLE Chunks global deaktivieren möchten? Wie machen Sie das?
Prasad Chalasani
13
@PrasadChalasani knitr::opts_chunk$set(message = FALSE) yihui.name/knitr/options
Yihui Xie
1
@Head resultskann FALSE(was ein Alias ​​von ist results="hide") seit knitr 1.16 sein: github.com/yihui/knitr/issues/1360
Yihui Xie
102
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

sehen Chunk-Optionen in den Knitr-Dokumenten

cbare
quelle
12
Das warning=FALSEist das einzige, was für mich funktioniert hat. Auf jeden Fall der beste Weg, um den Block ohne die hässlichen Warnungen in Ihre Ausgabe aufzunehmen!
Alex P. Miller
Wie stelle ich dies für das gesamte Dokument ein? Muss ich es manuell in jeden Block legen?
Fadwa
3
@ Misaki Siehe Yihuis Kommentar oben zu knitr :: opts_chunk $ set (message = FALSE)
cbare
7

Meine beste Lösung für R Markdown bestand darin, einen Codeblock zu erstellen, um nur Bibliotheken zu laden und alles im Block auszuschließen.

{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
quelle
6

Dies ist eine alte Frage, aber hier ist eine andere Möglichkeit, dies zu tun.

Sie können den R - Code selbst , anstatt die Chunk Optionen ändern, indem die Verpackung sourceAnruf in suppressPackageStartupMessages(), suppressMessages()und / oder suppressWarnings(). Z.B:

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

Sie können diese Funktionen auch um Ihre library()Aufrufe im "source.R"Skript platzieren.

Shadowtalker
quelle