【问题标题】:Rscript : Why is Error in UseMethod("extract_") : being indicated when attempting to use raster::extract?Rscript:为什么在尝试使用 raster::extract 时指示 UseMethod("extract_") 中的错误?
【发布时间】:2016-08-05 14:28:23
【问题描述】:

我尝试使用 raster 包的 extract 方法从 Raster* 对象中提取值。

RStudioPrompt> jpnpe <- extract(jpnp, jpnb, fun = mean, na.rm = T)

其中 jpnp 是栅格对象,jpnb 是 SpatialPolygonsDataFrame

但是提示以下错误:

Error in UseMethod("extract_") : 
  no applicable method for 'extract_' applied to an object of class "c('RasterStack', 'Raster', 'RasterStackBrick', 'BasicRaster')"

我怎样才能通过这个错误?

【问题讨论】:

    标签: rstudio rscript r-raster


    【解决方案1】:

    问题可能是由于另一个包具有相同的方法名称,混淆了光栅提取方法。

    tidyr 包有一个 extract 方法,可能与 raster 的 extract 方法冲突。

    通过检查加载的库来确认:

    >search()
    
    
    
    
    [1] ".GlobalEnv"           **"package:tidyr"**        "package:dplyr"       
     [4] "package:rgeos"        "package:ggplot2"      "package:RColorBrewer"
     [7] "package:animation"    "package:rgdal"        "package:maptools"    
    [10] **"package:raster"**       "package:sp"           "tools:rstudio"       
    [13] "package:stats"        "package:graphics"     "package:grDevices"   
    [16] "package:utils"        "package:datasets"     "package:methods"     
    [19] "Autoloads"            "package:base"    
    

    您还可以通过键入不带括号的函数名称来检查正在加载的提取方法(如下所示,环境会告诉您正在使用哪个包):

    > extract
    
    function (data, col, into, regex = "([[:alnum:]]+)", remove = TRUE, 
        convert = FALSE, ...) 
    {
        col <- col_name(substitute(col))
        extract_(data, col, into, regex = regex, remove = remove, 
            convert = convert, ...)
    }
    <environment: namespace:tidyr>
    

    要解决错误 只需卸载有问题的包,在 RStudio 中您可以使用以下命令:

    >.rs.unloadPackage("tidyr")
    

    并重新执行光栅提取方法:

    >jpnpe <- extract(jpnp, jpnb, fun = mean, na.rm = T)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2019-08-03
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 2021-08-22
      • 2013-03-07
      相关资源
      最近更新 更多