質問
空間分析のすべての種類のためのRのパッケージの数が明らかに存在しています。空間データの分析:それは CRANタスクビューで見をすることによってすることができます。これらのパッケージは、数多くの多様であるが、私がやりたいすべては、いくつかの単純な<のhref = "http://images.google.com/images?q=thematic+map&oe=utf-8&rls=org.mozilla:en-USです:公式&クライアント=のfirefox-A&UM = 1&すなわち= UTF-8&EI = EYiBSqywF5TYNZW8sJ0L&SA = X&OI = image_result_group&CT =タイトル&resnum = 4" のrel = "noreferrer">主題を。私は郡や州FIPSコードとデータを持っていると私は郡や州の境界のESRIシェイプファイルとデータを結ぶことができます添付FIPSコードを持っています。必要に応じて、形状ファイルを簡単に、他のフォーマットに変換することができました。
だから、Rと主題図を作成する最も簡単な方法は何ですか?
それはESRIアークの製品で作成されたように、このマップには見えますが、これは私がRでやりたい事のタイプです。
解決
次のコードはよく私を務めています。少しそれをカスタマイズし、あなたが行われています。
の
<サブ>(ソース: eduardoleoni.com の)サブ>
library(maptools)
substitute your shapefiles here
state.map <- readShapeSpatial("BRASIL.shp")
counties.map <- readShapeSpatial("55mu2500gsd.shp")
## this is the variable we will be plotting
counties.map@data$noise <- rnorm(nrow(counties.map@data))
ヒートマップ機能
plot.heat <- function(counties.map,state.map,z,title=NULL,breaks=NULL,reverse=FALSE,cex.legend=1,bw=.2,col.vec=NULL,plot.legend=TRUE) {
##Break down the value variable
if (is.null(breaks)) {
breaks=
seq(
floor(min(counties.map@data[,z],na.rm=TRUE)*10)/10
,
ceiling(max(counties.map@data[,z],na.rm=TRUE)*10)/10
,.1)
}
counties.map@data$zCat <- cut(counties.map@data[,z],breaks,include.lowest=TRUE)
cutpoints <- levels(counties.map@data$zCat)
if (is.null(col.vec)) col.vec <- heat.colors(length(levels(counties.map@data$zCat)))
if (reverse) {
cutpointsColors <- rev(col.vec)
} else {
cutpointsColors <- col.vec
}
levels(counties.map@data$zCat) <- cutpointsColors
plot(counties.map,border=gray(.8), lwd=bw,axes = FALSE, las = 1,col=as.character(counties.map@data$zCat))
if (!is.null(state.map)) {
plot(state.map,add=TRUE,lwd=1)
}
##with(counties.map.c,text(x,y,name,cex=0.75))
if (plot.legend) legend("bottomleft", cutpoints, fill = cutpointsColors,bty="n",title=title,cex=cex.legend)
##title("Cartogram")
}
プロットそれ
plot.heat(counties.map,state.map,z="noise",breaks=c(-Inf,-2,-1,0,1,2,Inf))
他のヒント
は、投稿以来、この話題を中心に、いくつかの活動があったので、私はここにいくつかの新しい情報を追加するだろうと思いました。ここでは革命のブログに「Choropleth地図Rチャレンジ」への2つの偉大なリンクがあります:
うまくいけば、これらは、この質問を見た人々のために便利です。
すべてのベスト、
ジェイ
パッケージをチェックしてください。
library(sp)
library(rgdal)
地理データのために、そして
いいですlibrary(RColorBrewer)
着色するのに便利です。 このマップでは、上記のパッケージと、このコードで構成されています
VegMap <- readOGR(".", "VegMapFile")
Veg9<-brewer.pal(9,'Set2')
spplot(VegMap, "Veg", col.regions=Veg9,
+at=c(0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5),
+main='Vegetation map')
"VegMapFile"
はシェープファイルであると"Veg"
が表示された変数です。おそらく、ほとんどの仕事をよりよく行うことができます。
(ビネット/マニュアルとデモborh参照)PBSmappingパッケージを見て、 これはRでオライリーのデータマッシュアップの記事(残念ながら、それはないですがによると、ダウンロードして4.99 $価値それは無料が、革命ブログで)ます。
これは、わずか3行です!
library(maps);
colors = floor(runif(63)*657);
map("state", col = colors, fill = T, resolution = 0)
完了! ちょうど63個の要素の任意のベクターに二行目を変更する(色のメンバーで0と657の間の各要素、())
今、あなたはあなたが書くことができます空想を取得したい場合:
library(maps);
library(mapproj);
colors = floor(runif(63)*657);
map("state", col = colors, fill = T, projection = "polyconic", resolution = 0);
63個の要素は、名前、あなたが実行することによって得ることができる63件の地域を表します
map("state")$names;
Rグラフィックギャラリーは非常に類似マップを有するべき良い出発点のために作ります。コードはここにある:www.ai.rug.nl/~hedderik/R/US2004。あなたは伝説()関数で凡例を追加する必要があると思います。