2016-04-14 2 views
1

ラスタパッケージの抽出メソッドを使用して、Raster *オブジェクトから値を抽出しようとしました。Rscript:UseMethod( "extract_")でエラーが発生する理由:raster :: extractを使用しようとすると表示されますか?

jpnpは、ラスタオブジェクトおよびjpnbは、次のエラーが表示されるしかしSpatialPolygonsDataFrame

である

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

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

は、どのように私はこのエラーを渡されることができますか?

答えて

2

同じメソッド名を持つ別のパッケージがあり、ラスタ抽出メソッドを難読化している可能性があります。

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"  

あなたはまた、この方法は、環境が使用されているパッケージを教えてくれます、以下のように(括弧なしで関数の名前を入力してロードされているエキス確認することができます):ちょうどRStudioで次のコマンドを使用することができ、問題のあるパッケージをアンロードエラーを解決するには

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

>.rs.unloadPackage("tidyr") 

と再度実行ラスタ抽出方法:

>jpnpe <- extract(jpnp, jpnb, fun = mean, na.rm = T) 
関連する問題