Database for Everything

[R 프로그램] 인터랙티브 그래프(3) - 대한민국 시도별 인구, 결핵 환자 수 단계 구분도 만들기 _ devtools, kormaps, ggi 본문

R

[R 프로그램] 인터랙티브 그래프(3) - 대한민국 시도별 인구, 결핵 환자 수 단계 구분도 만들기 _ devtools, kormaps, ggi

Yeenn 2021. 11. 27. 16:35
728x90

devtools 패키지, kormaps2014 패키지 준비


kormaps 패키지를 이용하면 대한민국의 지도 통계 데이터와 지도 데이터를 사용할 수 있다.
먼저 kormaps2014 패키지를 이용하는 데 필요한 stringi 패키지를 설치한 후, devtools 패키지를 설치한 다음, install_github()을 통해 패키지 개발자가 깃허브에 공유한 kormaps2014 패키지를 설치하고 로드하였다.





데이터 정보

  • 시도별 인구데이터
데이터 이름 내용
korpop1 2015년 센서스 데이터(시도별)
korpop2 2015년 센서스 데이터(시군구별)
korpop3 2015년 센서스 데이터(읍면동별)


korpop1 데이터를 살펴보았다. korpop1 데이터 인코딩이 UTF-8로 되어 있어서 윈도우에서는 한글 문자가 깨져보인다. (실제로 그냥 str(korpop1)을 입력하면 에러가 발생한다.) 따라서, changeCode()를 이용해 인코딩을 CP949로 변환한 후, str()에 적용하면 한글이 깨지지 않고 출력된다.


위 데이터는 변수명이 모두 한글로 되어있는데, 이렇게 되면 오류가 발생할 수 있다.
한글 변수명을 영문변수명으로 수정한 후, 지역명이 깨지지 않도록 name(행정구역별 읍면동)의 인코딩을 iconv()를 이용해 CP949로 변경하였다.


  • 시도 지도 데이터
데이터 이름 내용
kormap1 2014년 한국 행정 지도(시도별)
kormap2 2014년 한국 행정 지도(시군구별)
kormap3 2014년 한국 행정 지도(읍면동별)


kormap 역시 인코딩 변환 후 str()을 통해 데이터를 살펴보았다.



인터랙티브 단계 구분도 시각화(대한민국 시도)

ggiraphExtra 패키지ggplot2 패키지를 불러와 단계구분도를 생성했다.
지역기준이 되는 code 변수가 숫자코드로 되어있기 때문에 지도에 마우스 커서를 올리면, 숫자코드가 표시된다. 따라서, 숫자 코드 대신 지역명이 표시되도록 tooltip에 지역명 변수 name을 지정하였다.

fill=pop : 색깔로 표현할 변수
map_id=code: 지역 기준 변수
tooltip=name: 지도 위에 표시할 지역명
map=kormap1: 지도 데이터
interactive=T: 인터랙티브





인터랙티브 단계 구분도 시각화(대한민국 시도별 결핵 환자 수)


kormaps2014 패키지에는 지역별 결핵 환자 수에 대한 정보를 담고 있는 tbc데이터가 있다. 이 tbc데이터NewPts(결핵 환자 수)변수를 이용해 시도별 결핵 환자 수 단계구분도를 만들어 주었다.


※ 위 포스팅은 「Do it! 쉽게 배우는 R 데이터 분석(이지스리퍼블리싱)」 도서를 바탕으로 작성되었습니다.

728x90
Comments