问题可能是由于另一个包具有相同的方法名称,混淆了光栅提取方法。
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)