2016-04-14 34 views
1

Ich versuche, die Extraktionsmethode des Raster-Pakets zu verwenden, um Werte aus einem Raster * -Objekt zu extrahieren.Rscript: Warum ist der Fehler in UseMethod ("extract_"): Wird angezeigt, wenn Sie versuchen, raster :: extract zu verwenden?

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

wo jpnp ist das Rasterobjekt und jpnb ist SpatialPolygonsDataFrame

jedoch die folgenden Fehler angezeigt wird:

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

Wie kann ich diesen Fehler übergeben bekommen?

Antwort

2

Problem möglicherweise aufgrund eines anderen Pakets mit dem gleichen Methodennamen, die Raster-Extrakt-Methode verschleiern.

Das Paket tidyr verfügt über eine Extraktionsmethode, die möglicherweise mit der Extraktionsmethode von raster in Konflikt steht.

Bestätigen Sie mit, indem Sie geladene Bibliotheken Überprüfung:

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

Sie auch, welche Extrakt Methode überprüfen kann, wird durch die Eingabe Name Funktion ohne Klammern (wie unten geladen, wird die Umgebung, die Sie sagen, welches Paket verwendet wird,):

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

Um den Fehler zugerade entladen wird das säumige Paket, in RStudio lösen Sie den folgenden Befehl verwenden:

>.rs.unloadPackage("tidyr") 

und erneut auszuführen das Raster Extrakt Methode:

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