5

私はlibrary(choroplethr)いくつかの市場分析に使用していますが、作成して、county_choroplethそれを上にオーバーレイするか、コードでggmap()使用するかについていくつか質問があります。reference_map=TRUE私がやろうとしているのは、郡のコロプレスを取り、州間高速道路/高速道路を配置し、その上に円/半径を描くことです。

私が現在持っているのはこれです:

library(choroplethr)
data <- Data.frame(County.FIPS = c(19153,19163,19153,19153,19153,19153,19153,19113,19007,19169), Score=c(812.6,769.5,757.9,757.2,722.6,712.4,69727,690.2,64539,642.5)
county <-aggregate(data$Score~data$County.FIPS,data=data,sum)
colnames(county) <- c("region", "value")
mp <- county_choropleth(county, state_zoom=c("iowa"), num_colors = 1) +
  theme(legend.position="none")+
  scale_fill_gradient2("Score", 
                       high = "dark green", 
                       low = "red", 
                       na.value = "grey90", 
                       breaks = pretty(county$value, n = 10), 
                       label = scales::dollar_format())

...これでこのプロットが得られます。ここに画像の説明を入力

ここから、アイオワ州の主要な州間高速道路を地図の上にオーバーレイし、特定の都市からの距離をマイル単位で示す半径の円を作成します。このマップから要素を取得し、理想的にはそれらをコロプレス マップに組み込みたいと思います。私の意見では、この例よりもはるかにきれいに見えるからです。ここに画像の説明を入力

このコードを使用して、2 番目のマップを取得しました。

library(ggmap)
test<-get_map(location = c(lon=-93.57217,lat=41.67269), maptype="roadmap",source="google",zoom=7,scale="auto")
yup <- data.frame(lon=c(-93.57217,-95.87509), lat=c(41.67269,41.23238),score=c(1,1))
ggmap(test) + stat_density2d(aes(x = lon, y = lat, fill = score,alpha=score), 
               size = 2, bins = 2, data = yup, geom = "polygon") +
  theme(legend.position="none")

reference_map=TRUEライブラリでの使用に関する私の主な問題choroplethrは、county_choropleth をその上に配置すると、ラベルや道路などがグレー表示されることです。例えば、ここに画像の説明を入力

それで、地図に道路を含めて円を描くための簡単な回避策はありますか、それとも使用を放棄しchoroplethrてggmap、ggplot2などに移動する必要がありますか? 私はまた、彼らのウェブサイトで道路の Iowa DOT シェープファイルを見つけることができたので、それを含めるオプションですが、プロットして R に読み込むときに主要な州間高速道路のみを使用するように依頼する方法が具体的にわかりません.

この問題に対する私の「理想的な」MS Paintソリューションは次のとおりです。ここに画像の説明を入力

事前にすべてのヘルプに感謝します。ヘルプのために回答する必要がある明確な質問がある場合はお知らせください。

4

1 に答える 1

2

後でこれに出くわした人のために。leafletライブラリをandに変更することで、私が望んでいたことを達成することができましたtigris

ここに画像の説明を入力

個人的な使用のために最終的な微調整を行う予定ですが、使用したコードは次のとおりです。

library(tigris)
library(leaflet)

data <- data.frame(County.FIPS = c(19153,19163,19153,19153,19153,19153,19153,19113,19007,19169), Score=c(812.6,769.5,757.9,757.2,722.6,712.4,69727,690.2,64539,642.5))
county <-aggregate(data$Score~data$County.FIPS,data=data,sum)
colnames(county) <- c("GEOID", "Score")

IA_counties <- counties(state="IA", cb=TRUE, resolution ="20m")
IA_merged <- geo_join(IA_counties,county,"GEOID", "GEOID")
pal <- colorQuantile("Greens",NULL,n=3)
popup <- paste0("Profitability: ", as.character(IA_merged$Score))

yup2 <- data.frame(lon=c(-93.57217,-95.93779),lat=c(41.67269,41.25861),score=c(1,1))

leaflet() %>%
  addProviderTiles("Esri.WorldStreetMap") %>%
      addLegend(pal = pal, 
      values = IA_merged$Score, 
      position = "bottomright", 
      title = "County Profitablity: ") %>%
  addCircles(lng=yup2$lon, lat=yup2$lat,weight=1,fillOpacity=0.05,color="red",
      radius = 96560) %>%
  addCircles(lng=yup2$lon, lat=yup2$lat,weight=1,fillOpacity=0.025,color="blue",
      radius = 193121) %>%
  addPolygons(data = IA_counties, 
      fillColor = ~pal(IA_merged$Score), 
      fillOpacity = 0.15, 
      weight = 0.2, 
      popup = popup)
于 2015-12-08T20:42:48.320 に答える