2013-04-15 10 views
8

私はR & knitrを使って小さなレポートを作成して、pdfに出力します。Rとknitrでは、readOGRのメッセージを抑制できますか?

私は私の分析では、いくつかの形状ファイルを使用していると私はrgdalパッケージのreadOGR機能を使用するたびに、私は、例えば、読み込まれているかについての情報を得る:

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 

通常、それが持っている便利なことです。しかし残念ながら、それは私のPDF出力にも印刷されます。

私はknitrのチャンクオプションをecho=FALSE, message=FALSEに設定しようとしましたが、残念ながらそれは助けになりませんでした。

それ以上の解決策はありますか?

+0

次の2つのより良い解決策を得たが、他のすべては(すなわち、プリントCコード内のメッセージ、そしてあなたから他の出力を見たいknitrチャンクを)失敗したときに、私がことがわかりました'capture.output'は便利です。 – baptiste

答えて

18

readOGR機能自体にverbose = FALSEを設定しましたか?

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

関連knitrチャンク、それから、次のようになります。

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

'verbose = FALSE'の場合+1です。私は 'results =" hide "を好きです。なぜなら、それはもう少し透過的だからです。 – A5C1D2H2I1M1N2O1R2T1

+0

@ SimonO101 Doh。私はreadOGR側で解決策を見なければならないことを理解していませんでした。すべて今働いている。ありがとう。 – radek

6

これを行うには、 "knitr" の方法は、results = 'hide'を使用することです。しようと、SimonO101の例データ@からの借入:

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

実際のコマンドも隠していますか? OPがもちろん望んでいるものかもしれない。 –

+0

@ SimonO101、確かに。しかしそれから、 'echo = TRUE'に変更して、入力されたコードを見てください。 – A5C1D2H2I1M1N2O1R2T1

+0

ああクール。 'knitr'でもっとうまくいくことが私のリストにあります。どのようにすべて私のリストを行うに移動して面白いですが、決してそれをオフに移動するようです。ニットのために+1。 –

関連する問題