R - Penurunan harga menghindari paket memuat pesan


198

Saya telah menggunakan Knitr via R-Studio, dan menurut saya cukup rapi. Saya punya masalah kecil sekalipun. Ketika saya sumber file di R-Chunk, keluaran knitr menyertakan komentar eksternal sebagai berikut:

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

Saya telah mencoba mengatur opsi R-chunk dengan berbagai cara tetapi sepertinya tidak menghindari masalah:

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

```

Apakah ada cara untuk mengomentari pesan-pesan ini?


2
atur options(warn=-1)dan kembali ke options(warn=0)pada akhir Rmd. Mengurus semua pesan paket startup. Perhatikan bahwa Anda akan mematikan peringatan, tetapi hanya saat Rmd diberikan.
Dan Kalleward

Jawaban:


269

Anda dapat menggunakannya include=FALSEuntuk mengecualikan semua yang ada di chunk.

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

Jika Anda hanya ingin menekan pesan, gunakan message=FALSEsaja:

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

Fakta yang resultstidak dapat FALSEdisayangkan adalah disayangkan. Saya lebih suka pilihan potongan resultsmenjadi terpecah menjadi results, holddan markupyang semua akan nilai-nilai boolean. Sayangnya, ini bukan cara kerjanya.
Kepala

1
bagaimana jika kami ingin mematikan pesan secara global untuk SEMUA bagian, bagaimana Anda melakukannya?
Prasad Chalasani

13
@PrasadChalasani knitr::opts_chunk$set(message = FALSE) yihui.name/knitr/options
Yihui Xie

1
@Head resultsdapat FALSE(yang merupakan alias dari results="hide") sejak knitr 1.16: github.com/yihui/knitr/issues/1360
Yihui Xie

102
```{r results='hide', message=FALSE, warning=FALSE}
library(RJSONIO)
library(AnotherPackage)
```

lihat Chunk Options di Knitr docs


12
Satu warning=FALSE-satunya hal yang berhasil untuk saya. Pasti cara terbaik untuk memasukkan potongan dalam output Anda tanpa peringatan jelek!
Alex P. Miller

Bagaimana cara mengatur ini untuk seluruh dokumen? Apakah saya harus memasukkannya ke setiap chunk secara manual?
Fadwa

3
@Misaki Lihat komentar Yihui di atas tentang knitr :: opts_chunk $ set (message = FALSE)
cbare

7

Solusi terbaik saya pada R Markdown adalah membuat potongan kode hanya untuk memuat pustaka dan mengecualikan semua yang ada di chunk.

{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

Ini adalah pertanyaan lama, tetapi inilah cara lain untuk melakukannya.

Anda dapat memodifikasi kode R itu sendiri bukan pilihan potongan, dengan membungkus sourcepanggilan dalam suppressPackageStartupMessages(), suppressMessages()dan / atau suppressWarnings(). Misalnya:

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

Anda juga dapat menempatkan fungsi-fungsi itu di sekitar library()panggilan Anda di dalam "source.R"skrip.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.