R - Markdown หลีกเลี่ยงข้อความโหลดแพคเกจ


198

ฉันใช้ Knitr ผ่านทาง R-Studio และคิดว่ามันค่อนข้างเรียบร้อย ฉันมีปัญหาเล็กน้อยว่า เมื่อฉันแหล่งที่มาของไฟล์ใน R-Chunk เอาท์พุท knitr รวมถึงความคิดเห็นภายนอกดังนี้:

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

ฉันได้ลองตั้งค่าตัวเลือก R-chunk ด้วยวิธีต่าง ๆ แต่ก็ดูเหมือนจะไม่สามารถหลีกเลี่ยงปัญหาได้:

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

```

มีวิธีการแสดงความคิดเห็นข้อความเหล่านี้หรือไม่


2
ตั้งค่าoptions(warn=-1)และกลับไปoptions(warn=0)ที่ตอนท้ายของ Rmd ดูแลข้อความแพ็คเกจเริ่มต้นทั้งหมด โปรดทราบว่าคุณจะปิดคำเตือน แต่ในขณะที่ Rmd กำลังแสดงผล
Dan Kalleward

คำตอบ:


269

คุณสามารถใช้include=FALSEเพื่อแยกทุกอย่างออกเป็นชิ้น ๆ

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

หากคุณต้องการระงับข้อความให้ใช้message=FALSEแทน:

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

ความจริงที่resultsไม่สามารถFALSEเป็นโชคร้ายได้ ผมค่อนข้างจะตัวเลือกก้อนresultsถูกแบ่งออกเป็นresults, holdและmarkupซึ่งทั้งหมดจะเป็นค่าบูลีน อนิจจานี่ไม่ใช่วิธีการทำงาน
หัว

1
ถ้าเราต้องการปิดข้อความทั่วโลกสำหรับกลุ่มทั้งหมดคุณจะทำอย่างไร
Prasad Chalasani

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

1
@Head resultsสามารถเป็นFALSE(ซึ่งเป็นนามแฝงresults="hide") ตั้งแต่knitr 1.16: github.com/yihui/knitr/issues/1360
Yihui Xie

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

ดูตัวเลือกอันในเอกสาร Knitr


12
warning=FALSEเป็นสิ่งเดียวที่ทำงานสำหรับฉัน วิธีที่ดีที่สุดในการรวมก้อนในเอาต์พุตของคุณโดยไม่มีคำเตือนที่น่าเกลียดอย่างแน่นอน!
Alex P. Miller

วิธีการตั้งค่านี้สำหรับเอกสารทั้งหมดหรือไม่ ฉันต้องใส่มันลงในแต่ละอันด้วยตนเองหรือไม่?
Fadwa

3
@Misaki ดูความคิดเห็นของ Yihui ข้างต้นเกี่ยวกับ knitr :: opts_chunk $ set (message = FALSE)
cbare

7

ทางออกที่ดีที่สุดของฉันเกี่ยวกับ R Markdown คือการสร้างโค้ดกลุ่มเพื่อโหลดไลบรารีและยกเว้นทุกอย่างในกลุ่ม

{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

นี่เป็นคำถามเก่า แต่นี่เป็นอีกวิธีในการทำ

คุณสามารถปรับเปลี่ยนรหัส R ตัวเองแทนตัวเลือกก้อนโดยการตัดsourceการโทรในsuppressPackageStartupMessages(), และsuppressMessages() / หรือ suppressWarnings()เช่น:

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

คุณยังสามารถใส่ฟังก์ชั่นเหล่านั้นรอบการlibrary()โทรของคุณภายใน"source.R"สคริปต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.