2016-04-14 21 views
1

Raster * nesnesinden değerler ayıklamak için raster paketinin ayıklama yöntemini kullanmaya çalışıyorum.Rscript: Neden UseMethod ("extract_") hatası: raster :: extract kullanmaya çalışırken belirtiliyor?

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

Nasıl bu hatayı geçmiş olsun: jpnp raster nesnesi ve jpnb olan

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

aşağıdaki hata belirtilir Ancak

SpatialPolygonsDataFrame

mı?

cevap

2

Sorun, aynı yöntem adında başka bir paketin bulunması nedeniyle raster özü yöntemini gizlemiş olabilir.

Tidyr paketinde, raster'in ekstraksiyon yöntemiyle çakışabilecek bir extract yöntemi vardır. yaparak yüklenen kütüphaneleri kontrol ederek

Onayla:

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

da aşağıdaki gibi (parantez olmadan fonksiyonun adını yazarak yükleniyor hangi özü yöntemi kontrol edebilirsiniz, çevre kullanılmakta olduğu paket söyleyecektir):

> 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 içinde aşağıdaki komutu kullanabilirsinizsadece kusurlu paketi boşaltmak hatayı gidermek için:

>.rs.unloadPackage("tidyr") 

ve raster özü yöntemi yeniden çalıştırmak:

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