0

ミネソタ州、アイオワ州、ネブラスカ州の郡の上に収益性をプロットしようとしています。leafletとを使用してtigris、データがあるかどうかに関係なく、すべての郡をプロットできました。これにより、色付きの郡がいくつか残り、残りは NA とラベル付けされます。データからすべての NA を削除して、geo_join未使用のウィスコンシン地域で使用されないようにする方法はありますか? を使用してみfortifyましたが、TIGER の境界線を削除するために郡の FIPS ファイルとマージするときに、どの郡の境界を見ているのかを判断する方法がわかりません。

これが私のleaflet現在の様子です:ここに画像の説明を入力

マップを取得するための私のコードは次のとおりです。

library(tigris)
library(leaflet)

pal <- colorNumeric(c("yellow","dark red"),county$Construction.Cost,na.color="white")
IA_counties <- counties(state="IA", cb=TRUE, resolution ="20m")
MN_counties <- counties(state="MN",cb=TRUE,resolution="20m")
NE_counties <- counties(state="NE",cb=TRUE,resolution="20m")
IA_merged <- geo_join(IA_counties,county,"GEOID", "GEOID")
MN_merged <- geo_join(MN_counties,county,"GEOID","GEOID")
NE_merged <- geo_join(NE_counties,county,"GEOID","GEOID")
popupIA <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(IA_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))
popupMN <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(MN_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))
popupNE <- paste0("County Projects: ", as.character(paste('$',formatC(format(round(NE_merged$Construction.Cost, 0), big.mark=',', format = 'f')))))


leaflet() %>%
      addProviderTiles("MapQuestOpen.OSM") %>%
      addLegend(pal = pal, 
                values = IA_merged$Construction.Cost, 
                position = "bottomright", 
                title = "County Projects",
                labFormat=labelFormat(prefix="$")) %>%
      addCircles(lng=yup2$lon, lat=yup2$lat,weight=.75,fillOpacity=0.01,color="red",
                 radius = 96560) %>%
      addCircles(lng=yup2$lon, lat=yup2$lat,weight=.75,fillOpacity=0.01,color="blue",
                 radius = 193121) %>%
      addPolygons(data = IA_counties, 
                  fillColor = ~pal(IA_merged$Construction.Cost), 
                  layerId=1,
                  fillOpacity = .25, 
                  weight = 0.05, 
                  popup = popupIA)%>%
      addPolygons(data=MN_counties,
                  fillColor=~pal(MN_merged$Construction.Cost),
                  fillOpacity=0.25,
                  weight=0.05, 
                  popup = popupMN) %>%
      addPolygons(data=NE_counties,
                  fillColor=~pal(NE_merged$Construction.Cost),
                  fillOpacity=0.25,
                  weight=0.05, 
                  popup = popupNE) 

再現可能なデータを掲載していないことをお詫びいたしますが、必要な場合はお問い合わせください。na.color=これがより単純な式の解決策であることを願っています。地図は今のところ「大丈夫」に見えますがfillOpacity、NAの郡が目立たないように、それほど明るくする必要がないようにしてください.

ご不明な点がございましたら、お気軽にお問い合わせください。

4

2 に答える 2

2

私はtigrisパッケージの作成者です。いつもご利用いただきありがとうございます!tigrisGitHubの開発バージョン( https://github.com/walkerke/tigris ) では、内部結合に対応するオプションを追加しましたgeo_join。これにより、一致しないデータが結果の空間データ フレームから完全に削除されます (これがあなたが探しているもの)。必要に応じて、共通のマージ列名を名前付き引数として新しいbyパラメーターに指定することもできます。例えば:

IA_merged <- geo_join(IA_counties, county, by = "GEOID", how = "inner")

動作するはずです。まだテスト中ですが、おそらく 1 月にこの更新プログラムを CRAN に提出する予定です。

于 2015-12-15T16:23:30.243 に答える
0

恥ずかしいことに、この質問に対する答えは、私が望んでいたのと同じくらい簡単でした. 次のna.colorコードを微調整したところ、希望どおりに機能しました。

pal <- colorNumeric(c("yellow","dark red"),county$Construction.Cost,na.color="transparent")

ここに画像の説明を入力

于 2015-12-10T14:27:00.070 に答える