plot
猫をバッグから出して、 class のオブジェクトを呼び出すときに何が起こっているのかを把握するために約 1 日を費やしたと言いますSpatialPolygons*
。私の本能は、私が見たり遭遇した他の多くの例で機能するアプローチを探すことですplot.SpatialPolygonsDataFrame
が、これは失敗しました。
簡単な例:
米国の州の .shp ファイルはこちら。
library(maptools)
us.states<-readShapePoly("cb_2014_us_state_5m.shp")
plot(us.states)
少しばかげていますが、それはどうでもいいことです。要点は、すべての形状を表現するためにどのメソッドを呼び出すかをplot
、どこかで単純に呼び出すだけで知っているということです。R
少し調べた後、まず何よりもまず、さまざまな SO Q&A で提案された他の 2 つのアプローチを試しました。
> methods(plot)
[1] plot.aareg* plot.acf*
[3] plot,ANY,ANY-method plot.cox.zph*
[5] plot.data.frame* plot.decomposed.ts*
[7] plot.default plot.dendrogram*
[9] plot.density* plot.ecdf
[11] plot.factor* plot.formula*
[13] plot.function plot.hclust*
[15] plot.histogram* plot.HoltWinters*
[17] plot.isoreg* plot.lm*
[19] plot.medpolish* plot.mlm*
[21] plot.ppr* plot.prcomp*
[23] plot.princomp* plot.profile.nls*
[25] plot.raster* plot.shingle*
[27] plot,SpatialGrid,missing-method plot,SpatialLines,missing-method
[29] plot,Spatial,missing-method plot,SpatialPixels,missing-method
[31] plot,SpatialPoints,missing-method plot,SpatialPolygons,missing-method
[33] plot.spec* plot.spline*
[35] plot.stepfun plot.stl*
[37] plot.survfit* plot.table*
[39] plot.times* plot.trellis*
[41] plot.ts plot.tskernel*
[43] plot.TukeyHSD* plot.xyVector*
[45] plot.zoo*
答えはスロット 27 ~ 32 にあるようです。ただし、それぞれの後に厄介なコンマが続きます。これが可能で?methods
あり?plot,SpatialPolygons,missing-method
、エラーであることは言及されていません。をすばやく検索しmissing-method
ても役に立たないことが判明し、再び言及がありません?methods
。
わかった; 先に進みます。どうgetS3method
ですか?getMethod
? getMethods
? getAllMethods
??
> getS3method("plot","SpatialPolygonsDataFrame")
Error in getS3method("plot", "SpatialPolygonsDataFrame") :
S3 method 'plot.SpatialPolygonsDataFrame' not found
> getMethod("plot","SpatialPolygonsDataFrame")
Error in getMethod("plot", "SpatialPolygonsDataFrame") :
no method found for function 'plot' and signature SpatialPolygonsDataFrame
後者の 2 つは非推奨であり、何も返しません。
どうやらこれらの関数は、私の最初の本能の代わりに過ぎないようです。
んで、どうする?plot
渡されたときにどのメソッドが呼び出されているかをどのように確認できSpatialPolygonsDataFrame
ますか? 上記で使用したアプローチに取って代わる、この問題に対する一般的なアプローチはありますか?
編集:
偶然のように、私はこれ(= ?`Spatial-Polygons-class`
)に出くわしました。
空間ポリゴンの
plot
メソッドは、次の引数を取ります。
しかし、その方法が正確に何であるかはまだ述べていません。