jpnpe search() [1] ".GlobalEnv" **"pac-6ren">
gpt4 book ai didi

rstudio - Rscript :为什么 UseMethod ("extract_"中的错误):在尝试使用 raster::extract 时被指示?

转载 作者:行者123 更新时间:2023-12-04 18:33:34 30 4
gpt4 key购买 nike

我尝试使用 raster 包的提取方法从 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')"

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

最佳答案

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

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

通过检查加载的库进行确认:

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

关于rstudio - Rscript :为什么 UseMethod ("extract_"中的错误):在尝试使用 raster::extract 时被指示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36616254/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com