2012-10-26 32 views
127

Tôi đã sử dụng Knitr qua R-Studio và nghĩ rằng nó khá gọn gàng. Tôi có một vấn đề nhỏ mặc dù. Khi tôi nguồn một tập tin trong một R-Chunk, sản lượng knitr bao gồm ý kiến ​​bên ngoài như sau:R - Đánh dấu tránh tin nhắn tải gói

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

Tôi đã cố gắng để thiết lập tùy chọn R-đoạn theo những cách khác nhau nhưng vẫn không có vẻ để tránh những vấn đề:

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

``` 

Có cách nào để nhận xét các thư này không?

+0

đặt 'tùy chọn (cảnh báo = -1)' và quay lại 'tùy chọn (cảnh báo = 0)' ở cuối Rmd. Xử lý tất cả các gói tin khởi động. Lưu ý rằng bạn muốn tắt cảnh báo, nhưng chỉ khi Rmd được hiển thị. –

Trả lời

168

Bạn có thể sử dụng include=FALSE để loại trừ tất cả mọi thứ trong một đoạn.

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

Nếu bạn chỉ muốn chặn thông báo, hãy sử dụng message=FALSE thay thế.

BTW, vui lòng tham khảo documentation of chunk options để biết các giá trị có thể, ví dụ: FALSE không phải là giá trị có thể cho tùy chọn results.

+0

Thực tế là 'kết quả' không thể là' FALSE' là không may. Tôi muốn thay thế chunk 'results' được chia thành' results', 'hold' và' markup', tất cả sẽ là giá trị boolean. Than ôi, đây không phải là cách nó hoạt động. – Head

+0

điều gì sẽ xảy ra nếu chúng tôi muốn tắt thông báo trên toàn cầu cho TẤT CẢ các phần, bạn làm như thế nào? –

+4

@PrasadChalasani 'knitr :: opts_chunk $ set (message = FALSE)' http://yihui.name/knitr/options/ –

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

thấy Chunk Options trong tài liệu Knitr

+0

Ahh ... 10 giây sớm hơn tôi !! :) –

+0

@cbare THANK YOU SO MUCH! – Roark

+8

'warning = FALSE' là điều duy nhất làm việc cho tôi. Chắc chắn là cách tốt nhất để bao gồm các đoạn trong đầu ra của bạn mà không có cảnh báo xấu xí! –

6

Giải pháp tốt nhất của tôi trên R Markdown là tạo đoạn mã chỉ để tải thư viện và loại trừ mọi thứ trong đoạn.

{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) 
0

Đây là câu hỏi cũ nhưng đây là một cách khác để thực hiện.

Bạn có thể sửa đổi chính mã R thay vì tùy chọn đoạn, bằng cách gói các cuộc gọi source trong suppressPackageStartupMessages(), suppressMessages() và/hoặc suppressWarnings(). Ví dụ:

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

Bạn cũng có thể đặt những chức năng xung quanh library() cuộc gọi của bạn bên trong "source.R" kịch bản.

Các vấn đề liên quan