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.