18

我正在使用 R & knitr 构建小型报告,将输出发送到 pdf。

我在分析中使用了几个形状文件,每当我使用包readOGR的功能时,rgdal我都会获得有关正在读取的内容的信息,例如:

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但不幸的是它没有帮助。

有什么更好的解决方案吗?

4

3 回答 3

32

您是否尝试过verbose = FALSEreadOGR功能本身中进行设置?

例如

> 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)
```
于 2013-04-15T10:25:22.273 回答
10

执行此操作的“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")
```
于 2013-04-15T10:31:26.507 回答
1

如果您使用st_read而不是readOGR用作quiet=TRUE附加参数来隐藏日志

于 2021-06-23T09:57:14.700 回答