1

choroplethr および choroplethrMaps パッケージを使用して、既にマップを作成しています。私の問題は、国をプロットするには、この国が choroplehrMaps パッケージに含まれている country.regions および country.map データ フレームに含まれている必要があることです。これが私の地図だとしましょう

install.packages("mapproj");library(mapproj)
install.packages("choroplethr")
install.packages("choroplethrMaps")
library(choroplethr);library(choroplethrMaps);library(ggplot2)
data(country.map)
data(country.regions)
a<-c(4.1,2.5,0.4,6.4,1.4,1.8,3.8,1.3,2.3,8.4,5.2,1.9,0.8,1.5,2.1,1.2,3.8,1.4,3.1,0.8,4.0,1.3,4.8,2.6,2.8,2.3,3.1,2.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA)
target<-c("austria","belgium","bulgaria","switzerland","cyprus","czech republic","denmark",
          "estonia","spain","finland","france","greece","croatia","hungary","ireland","italy",
          "lithuania","luxembourg","latvia","norway","poland","portugal","romania","sweden",
          "slovenia","slovakia","turkey","united kingdom","russia","belarus","germany","ukraine","iceland"
          ,"netherlands","bosnia and herzegovina","albania","montenegro","macedonia","moldova","kosovo")
datas<-data.frame(region=target,value=a)
datas$region<-as.character(datas$region)
gg <- country_choropleth(datas,num_colors=1,zoom=target)
gg <- gg + xlim(-25.266001, 71.869301)
gg <- gg + ylim(34.536311, 70.008797)
gg <- gg + coord_map("lambert", lat0=27.636311, lat1=81.008797)
gg<-gg+scale_fill_continuous(name="%",low="yellow", high="orange", na.value="grey")
gg<-gg+theme(plot.background=element_rect(fill="dodgerblue",colour="black"),legend.position="bottom",legend.background = element_rect(),legend.text = element_text(size = 13, colour = "black")) 
gg

ここに画像の説明を入力

私のデータフレームにあるすべての地域は、 country.regions と country.map に同じ名前で含まれているため、すべてうまくいきます。

私の問題は、マルタとセルビアの地域を自分のマップに追加したいということです。そのためのデータがありますが、country.regions と country.map データ フレームの開発者によって含まれていないため、実行できません。国の名前を country.regions に追加し、その緯度と経度を country.map に追加します (maps パッケージの geocode("malta") 関数を使用)。

4

2 に答える 2

1

いつもchoroplethrをご利用いただきありがとうございます。

に単純に国を追加するのは難しいと思います?country.map。参照するジオコード関数は、単一の経度と緯度のポイントを返すだけです。しかし、国を描くには、国境全体を表す点が必要です。

しかし、私は choroplethr を書いて、このようなケースを処理するために、人々が独自のマップに choroplethr インターフェースを使用したいと考えています。これが私があなたに始めることをお勧めする方法です。

  1. R プログラマーのための地図作成の wiki ページを読む
  2. ビネットを読む独自のマップを作成する
  3. さらに質問がある場合は、choroplethr google グループに投稿してください。

基本的に、ニーズに合ったシェープファイルを見つけて、そのシェープファイルを開いて中をいじるのに十分なだけ QGIS を学習する必要があると思います。その後、ほんの数行の R コードと (うまくいけば) いくつかの簡単なデバッグを行うだけで、choroplethr が「正常に機能する」ようになります。

具体的なアドバイスができず申し訳ありません。ヨーロッパのシェープファイルの場所がわかりません。しかし、あなたがそれを見つけた場合、または他の誰かが投稿した場合、私はそれを私のリストに追加します.

于 2015-05-15T16:40:42.783 に答える
1

記録のために、choroplethrMaps にはセルビアが含まれていますが、何らかの理由で、単に「セルビア」ではなく「セルビア共和国」と呼ぶ必要があります。

于 2015-10-20T09:37:34.207 に答える