Rscript : Почему при попытке использовать raster::extract отображается ошибка в UseMethod(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')"

Как я могу пройти эту ошибку?


person KK.    schedule 14.04.2016    source источник


Ответы (1)


Проблема может быть связана с наличием другого пакета с тем же именем метода, который запутывает метод извлечения растра.

Пакет tidyr имеет метод извлечения, который может конфликтовать с методом извлечения растра.

Подтвердите, проверив загруженные библиотеки, выполнив:

>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)
person KK.    schedule 14.04.2016