问题
I'm building small report using R & knitr, sending the output to pdf.
I'm using several shape files in my analysis and whenever I use readOGR
function of rgdal
package I get information on what is being read, for instance:
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
Normally, it's useful thing to have.. but unfortunately it also prints out in my pdf output.
I tried setting knitr's chunk options to echo=FALSE, message=FALSE
but unfortunately it did't help.
Any better solution to that?
回答1:
Have you tried setting verbose = FALSE
in the readOGR
function itself?
e.g.
> 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)
The relevant knitr chunk, then, could be:
```{r, echo=FALSE, message=FALSE}
library(rgdal)
dsn <- system.file("vectors", package = "rgdal")[1]
cities <- readOGR(dsn=dsn, layer="cities", verbose=FALSE)
```
回答2:
The "knitr" way to do this would be to use results = 'hide'
. Borrowing from @SimonO101's example data, try:
```{r, results='hide', echo=FALSE, message=FALSE}
library(rgdal)
dsn <- system.file("vectors", package = "rgdal")[1]
cities <- readOGR(dsn=dsn, layer="cities")
```
来源:https://stackoverflow.com/questions/16012865/in-r-and-knitr-can-i-suppress-the-message-of-readogr