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.