tigris와 tidycensus를 활용한 지도 제작 워크플로

R로 분석하는 미국 인구조사 데이터

Kyle Walker

Instructor

교육 점 지도

R로 분석하는 미국 인구조사 데이터

sf로 임의 점 생성하기

sf에서 임의 점 생성을 위한 핵심 함수: st_sample()

dc_dots <- map(c("White", "Black", "Hispanic", "Asian"), function(group) {
  dc_race %>%
    filter(variable == group) %>%
    st_sample(., size = .$value / 100) %>%
    st_sf() %>%
    mutate(group = group) 
}) %>%
  reduce(rbind)
R로 분석하는 미국 인구조사 데이터

임의 점 생성 시 고려 사항

빠른 플로팅을 위한 방법:

dc_dots <- dc_dots %>%
  group_by(group) %>%
  summarize()

보다 정확한 시각화를 위한 방법:

dc_dots_shuffle <- sample_frac(dc_dots, size = 1)
R로 분석하는 미국 인구조사 데이터

sf로 기본 점 밀도 지도 만들기

plot(dc_dots_shuffle, key.pos = 1)

기본 점 밀도 지도

R로 분석하는 미국 인구조사 데이터

tigris로 보조 데이터 가져오기

options(tigris_class = "sf")

dc_roads <- roads("DC", "District of Columbia") %>%
  filter(RTTYP %in% c("I", "S", "U"))

dc_water <- area_water("DC", "District of Columbia")
dc_boundary <- counties("DC", cb = TRUE)
R로 분석하는 미국 인구조사 데이터

tigris로 보조 데이터 가져오기

plot(dc_water$geometry, col = "lightblue")

DC 수역 플롯

R로 분석하는 미국 인구조사 데이터

ggplot2로 점 밀도 지도 만들기

ggplot() + 
  geom_sf(data = dc_boundary, color = NA, fill = "white") + 
  geom_sf(data = dc_dots, aes(color = group, fill = group), size = 0.1) + 
  geom_sf(data = dc_water, color = "lightblue", fill = "lightblue") + 
  geom_sf(data = dc_roads, color = "grey") + 
  coord_sf(crs = 26918, datum = NA) + 
  scale_color_brewer(palette = "Set1", guide = FALSE) +
  scale_fill_brewer(palette = "Set1") +
  labs(title = "The racial geography of Washington, DC", 
       subtitle = "2010 decennial U.S. Census", 
       fill = "", 
       caption = "1 dot = approximately 100 people.\nData acquired with 
                  the R tidycensus and tigris packages.")
R로 분석하는 미국 인구조사 데이터

최종 점 밀도 지도

R로 분석하는 미국 인구조사 데이터

점 밀도 지도 작성 시 고려 사항

  • 점 밀도 지도의 오독 가능성에 유의하십시오
  • 정성적 색상을 신중하게 선택하십시오
  • 보조 레이어 선택에 주의하십시오
R로 분석하는 미국 인구조사 데이터

연습해 봅시다!

R로 분석하는 미국 인구조사 데이터

Preparing Video For Download...