블로그

지도 시각화와 단계 구분도 만들기 본문

Computer engineering/R

지도 시각화와 단계 구분도 만들기

JuNM0418 2019. 5. 17. 14:18

지도 시각화

지역별 통계치를 색깔의 차이로 표현한 지도를 '단계 구분도(Choropleth Map)'이라고 합니다.

미국 주별 강력 범죄율 단계 구분도 만들기

미국 주별 강력 범죄율 단계 구분도 만들기

단계 구분도는 ggiraphExtra패키지를 이용하여 만듭니다.

# 패키지 설치
install.packages("ggiraphExtra")

# 패키지 로드
library(ggiraphExtra)

R에 내장된USArrests데이터를 이용해서 만들어보겠습니다.

USArrests데이터는 지역명 변수가 따로 없습니다. 따라서 tibble패키지의 rownames_to_column()을 이용해 state변수로 바꿔 새 데이터 프레임을 만들겠습니다.

library(tibble)

crime <- rownames_to_column(USArrests, var = "state")
crime$state <- tolower(crime$state)

단계 구분도를 만들기 위해서 지역별 위도, 경도 정보가 있는 지도데이터가 필요합니다.

따라서 maps패키지와 mapproj패키지를 설치하고, ggplot2패키지의 map_data()를 이용해 데이터 프레임 형태로 불러오겠습니다.

R버전이 3.4.4. 버전이여야 패키지가 정상적으로 설치됩니다.

# 패키지 설치
install.packages("maps")
install.packages("mapproj")

# 패키지 로드
library(mpas)
library(mapproj)
library(ggplot2)

states_map <- map_data("state")

지도에 표현할 범죄 데이터와 배경이 될 지도 데이터가 준비되었기 때문에 ggiraphExtra패키지의 ggChoropleth()를 이용해 단계 구분도를 만들어 보겠습니다.

ggChoropleth(data = crime,                # 지도에 표현할 데이터
                aes(fill = Murder,        # 색깔로 표현할 변수
                    map_id = state),    # 지역 기준 변수
                map = states_map)        # 지도 데이터

 

A.html
569.2 kB


(인터렉티브 파라미터를 TRUE로 설정했을 때)

 

출처

김영우, 쉽게 배우는 R 데이터 분석, 이지퍼블리싱, 2019

Comments