2013-04-15 19 views
8

Buduję mały raport przy użyciu R & knitr, wysyłając wynik do pdf.W R i knitr, czy mogę pominąć komunikat readOGR?

używam kilku plików kształt w mojej analizie i kiedy używam readOGR funkcję rgdal pakietu uzyskać informacje na temat tego, co jest czytać, na przykład:

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 

Normalnie, to przydatna rzecz mieć. , ale niestety również wypisuje się w moim pliku pdf.

Próbowałem ustawić opcje kawałka knitr na echo=FALSE, message=FALSE, ale niestety to nie pomogło.

Jakieś lepsze rozwiązanie tego?

+0

masz dwie lepsze rozwiązania, ale gdy wszystko inne zawiedzie (tj wiadomość druku w kodzie C, a knitr klocek, który chcesz zobaczyć inne wyjście z), stwierdziliśmy, że 'capture.output' może być przydatne. – baptiste

Odpowiedz

18

Czy próbowałeś już ustawić verbose = FALSE w funkcji ?

np.

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

Odpowiedni bryłkach knitr, to może być:

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

+1 dla 'verbose = FALSE'. Lubię 'results =" hide "', ponieważ jest nieco bardziej przezroczysty. – A5C1D2H2I1M1N2O1R2T1

+0

@ SimonO101 Doh. Nie zdawałem sobie sprawy, że powinienem szukać rozwiązania po stronie readOGR. Wszystko działa teraz. Dzięki. – radek

6

W "knitr" sposobem na to byłoby użyć results = 'hide'. Pożyczanie od użytkownika @ SimonO101 przykładowych danych, spróbuj:

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

Czy to również ukrywa rzeczywiste polecenia? Które może być tym, co OP chce oczywiście. –

+0

@ SimonO101, Pewnie. Ale potem po prostu zmień ją na "echo = TRUE", aby zobaczyć kod, który został wprowadzony. – A5C1D2H2I1M1N2O1R2T1

+0

Ah cool. Lepiej z 'knitr' jest na liście do zrobienia. To zabawne, jak wszystko przenosi się na moją listę zadań do wykonania, ale nigdy nie wydaje się, aby ją wyłączyć. +1 za sposób knitr. –

Powiązane problemy