Rscript:为什么在 UseMethod(“extract_") 中出现错误:在尝试使用 raster::extract 时被指示? [英] Rscript : Why is Error in UseMethod("extract_") : being indicated when attempting to use raster::extract?

查看:76
本文介绍了Rscript:为什么在 UseMethod(“extract_") 中出现错误:在尝试使用 raster::extract 时被指示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I attempting to use raster package's extract method to extract values from a Raster* object.

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

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

where jpnp is the raster object and jpnb is SpatialPolygonsDataFrame

但是提示以下错误:

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

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

How can I get passed this error?

推荐答案

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

Issue may be due to having another package with the same method name, obfuscating the raster extract method.

tidyr 包有一个提取方法,可能与 raster 的提取方法冲突.

The tidyr package has an extract method which may conflict with raster's extract method.

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

Confirm by checking libraries loaded by doing:

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

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

you can also check which extract method is being loaded by typing name of function without brackets (as below, the environment will tell you which package is being used):

> 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 中您可以使用以下命令:

To resolve the error just unload the offending package, in RStudio you can use the following command:

>.rs.unloadPackage("tidyr")

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

and re-execute the raster extract method:

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

这篇关于Rscript:为什么在 UseMethod(“extract_") 中出现错误:在尝试使用 raster::extract 时被指示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆