한국은 범죄, 소득 수준 등에 민감하기 때문에 정확히 알 수 있는 데이터가 없다.
일반적으로 소득 데이터를 proxy하기 위해 다양한 데이터들이 사용되는데, 공시지가, 아파트가격, 보유 자동차 대수 등이 그것이다.
오늘은 이러한 데이터보다 좀 더 실제 소득수준을 알기 좋은 데이터를 소개하려 한다.
국세통계포털에서 제공하는시·군·구별 근로소득 연말정산 신고현황 데이터이다.
데이터 구득
https://tasis.nts.go.kr/websquare/websquare.html?w2xPath=/cm/index.xml
국세통계포털에 접속하여
[국세통계조회] 메뉴 > [국세통계]
발행연도 : 2021,
4. 원천세, 4.2 근로소득 연말정산 신고 현황
4-2-14. 시·군·구별 근로소득 연말정산 신고현황(원천징수지)
4-2-15. 시·군·구별 근로소득 연말정산 신고현황(주소지)
이 두 가지에서 시군구별 자료를 구득할 수 있다.
이렇게 엑셀 자료가 복잡하게 되어있어서 가공한 파일을 아래에 올려둔다.
그림처럼 시군구 이름과 시군구 코드를 함께 넣은 데이터이다.
그리고 일반적인 시군구 shp파일에서는 자치구가 아닌 구(ex. 수원시 권선구, 창원시 마산합포구...)가 포함되어있어 사용이 어렵다.
통계청 데이터와 join하기 위해서는 자치구가 아닌 구는 분리되지 않은 shp파일이 필요하다.
아래의 링크에서 shp파일을 다운받자.
R로 동적 지도 만들기
이제 R로 지도를 만들어보자.
오늘 사용한 코드는 아래와 같다.
sgg <- sf::st_read("C:\\Users\\user\\OneDrive - SNU\\바탕 화면\\전국 세액\\SGG_kostat_.shp")
sgg
# 전국 세액 데이터 불러오기
tax <- read.csv("C:\\Users\\user\\OneDrive - SNU\\바탕 화면\\전국 세액\\시군구별 1인당 세액.csv")
#1인당 세액을 담은 열 만들기
dplyr::mutate(tax, tax_per = round(금액/인원, digits = 3))
#시군구와 서울 조인
join <- merge(sgg, tax, by.x ="code", by.y = "sggcd")
library(tmap)
tmap_mode('view')
tm_shape(join) +
tm_polygons("인원", id="sggnm")
코드 설명
세금을 납부하는 인원이 많으면 자연스레 세액이 높아지므로,
1인당 세액을 확인하기 위해 금액을 인원으로 나누어주었다.
새로운 열을 만들기 위해 dplyr의 mutate를 사용하였다.
join을 시군구 코드로 하였기 때문에 마우스를 갖다대면 시군구코드가 뜬다.
따라서 id = "sggnm"을 추가하여 마우스를 갖다대면 시군구명이 뜨도록 하였다.
결과
금액은 아래와 같이 나왔다.
강남구, 영등포구, 종로구, 서초구, 마포구, 강서구, 수원시, 성남시, 용인시, 화성시, 창원시 등에서 색상이 두드러졌다.
총 세액이 높은 지역과 낮은 지역은 이와 같다.
1인당 세액은 아래와 같이 나왔다.
1인당 세액이 높은 지역과 낮은 지역은 이와 같다.
'🗺️ GIS & RS > 👩🏻🎨 홍시의 지도' 카테고리의 다른 글
[지도] 일본 도도부현 단위 백지도 공유 (zip파일) (0) | 2023.12.26 |
---|---|
[홍시의 지도] 우리나라에 스타벅스가 없는 시군구는 92개 (0) | 2022.10.19 |
[한국지리] 한국(남한) 백지도 공유 (zip파일) (0) | 2022.08.13 |
[한국지리] 한국 시군 백지도 공유 (zip파일) (2) | 2022.08.13 |
[홍시의 지도] 서울에서 젊은 여성은 어디에서 많이 살까? (15-34세 여성인구) (0) | 2022.08.02 |
댓글