2013-04-15 16 views
8

Tôi đang xây dựng báo cáo nhỏ bằng cách sử dụng R & knitr, gửi đầu ra tới pdf.Trong R và knitr, tôi có thể tắt thông điệp của readOGR không?

Tôi đang sử dụng một vài file hình trong phân tích của tôi và bất cứ khi nào tôi sử dụng readOGR chức năng của rgdal gói tôi nhận được thông tin về những gì đang được đọc, ví dụ:

OGR data source with driver: ESRI Shapefile 
Source: "__PATH_HERE__", layer: "__NAME__OF__LAYER__HERE__" 
with 148 features and 5 fields 
Feature type: wkbPolygon with 2 dimensions 

Thông thường, đó là điều hữu ích để có. Nhưng tiếc là nó cũng in ra trong đầu ra pdf của tôi.

Tôi đã thử đặt các tùy chọn đoạn của knitr thành echo=FALSE, message=FALSE nhưng tiếc là nó không giúp được gì.

Bất kỳ giải pháp nào tốt hơn cho điều đó?

+0

bạn có hai giải pháp tốt hơn, nhưng khi mọi thứ khác không (ví dụ nhắn in trong mã C, và đoạn knitr mà bạn muốn xem kết quả khác từ), tôi thấy rằng 'capture.output' có thể hữu ích. – baptiste

Trả lời

18

Bạn đã thử đặt verbose = FALSE trong chính hàm readOGR?

ví dụ:

> dsn <- system.file("vectors", package = "rgdal")[1] 
> cities <- readOGR(dsn=dsn, layer="cities") 
OGR data source with driver: ESRI Shapefile 
Source: "C:/Users/sohanlon/Dropbox/R/R64_Win_Libs/rgdal/vectors", layer: "cities" 
with 606 features and 4 fields 
Feature type: wkbPoint with 2 dimensions 
# Set verbose = FALSE 
> cities <- readOGR(dsn=dsn, layer="cities" , verbose = FALSE) 

Các liên quan knitr đoạn, sau đó, có thể là:

```{r, echo=FALSE, message=FALSE} 
library(rgdal) 
dsn <- system.file("vectors", package = "rgdal")[1] 
cities <- readOGR(dsn=dsn, layer="cities", verbose=FALSE) 
``` 
+0

+1 cho 'verbose = FALSE'. Tôi thích 'results =" hide "' vì nó minh bạch hơn một chút. – A5C1D2H2I1M1N2O1R2T1

+0

@ SimonO101 Doh. Tôi không nhận ra mình nên xem xét giải pháp ở phía readOGR. Tất cả đang làm việc. Cảm ơn. – radek

6

Các "knitr" cách để làm điều này sẽ được sử dụng results = 'hide'. Vay từ @ SimonO101 của dữ liệu ví dụ, hãy thử:

```{r, results='hide', echo=FALSE, message=FALSE} 
library(rgdal) 
dsn <- system.file("vectors", package = "rgdal")[1] 
cities <- readOGR(dsn=dsn, layer="cities") 
``` 
+0

Điều đó có ẩn các lệnh thực tế không? Mà có thể là những gì OP muốn tất nhiên. –

+0

@ SimonO101, Chắc chắn rồi. Nhưng sau đó chỉ cần thay đổi nó thành 'echo = TRUE' để xem mã đã được nhập. – A5C1D2H2I1M1N2O1R2T1

+0

Rất tuyệt. Bắt đầu tốt hơn với 'knitr' là trong danh sách của tôi. Thật buồn cười làm sao mọi thứ chuyển ON sang danh sách của tôi, nhưng dường như không bao giờ chuyển OFF nó ra. 1 cho cách đan. –

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