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?


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")
```

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


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)

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.