代码之家  ›  专栏  ›  技术社区  ›  radek

在R和Knitter中,我可以抑制readOGR的消息吗?

  •  19
  • radek  · 技术社区  · 11 年前

    我正在使用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输出中。

    我试着将knifer的大块选项设置为 echo=FALSE, message=FALSE 但不幸的是,这并没有起到任何作用。

    有更好的解决方案吗?

    3 回复  |  直到 11 年前
        1
  •  33
  •   A5C1D2H2I1M1N2O1R2T1    11 年前

    你试过设置吗 verbose = FALSE readOGR 功能本身?

    例如

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

    那么,相关的编织者群体可能是:

    ```{r, echo=FALSE, message=FALSE}
    library(rgdal)
    dsn <- system.file("vectors", package = "rgdal")[1]
    cities <- readOGR(dsn=dsn, layer="cities", verbose=FALSE)
    ```
    
        2
  •  11
  •   A5C1D2H2I1M1N2O1R2T1    11 年前

    做到这一点的“编织者”方法是使用 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")
    ```
    
        3
  •  2
  •   Jerin Mathew    3 年前

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