options(width = 180)
library(tidyverse)
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Conflicts with tidy packages -------------------------------------------------------------------------------------------------------------------------------------------------------
## filter(): dplyr, stats
## lag(): dplyr, stats
census_data <- read.csv("../data/101_DT_1IN1502_Y_2015.csv",
header = TRUE, #> 한글 변수명 그대로 읽어들일 예정
na.strings = "X", #> 통계청 데이터에서 NA는 "X"로 표시되어 있음.
skip = 2,
stringsAsFactors = FALSE,
# encoding = "CP949") Invaild multibyte string Error
fileEncoding = "euc-kr") #> `encoding = "CP949"` 과의 차이 숙지.
str(census_data) #> 지역 code 와 이름 외에는 모두 숫자로 읽어들임.
## 'data.frame': 3819 obs. of 23 variables:
## $ C행정구역별.읍면동. : chr "'00" "'04" "'05" "'03" ...
## $ 행정구역별.읍면동. : chr "전국" "읍부" "면부" "동부" ...
## $ 시점 : int 2015 2015 2015 2015 2015 2015 2015 2015 2015 2015 ...
## $ 총인구..명. : int 51069375 4616802 4774878 41677695 9904312 161521 9379 2808 11012 18594 ...
## $ 남자..명. : int 25608502 2360708 2455898 20791896 4859535 79510 4325 1340 5327 8794 ...
## $ 여자..명. : int 25460873 2256094 2318980 20885799 5044777 82011 5054 1468 5685 9800 ...
## $ 내국인.계..명. : int 49705663 4467697 4546520 40691446 9567196 146119 8571 2601 10157 17789 ...
## $ 내국인.남자..명. : int 24819839 2262853 2291860 20265126 4694317 71951 3934 1222 4921 8393 ...
## $ 내국인.여자..명. : int 24885824 2204844 2254660 20426320 4872879 74168 4637 1379 5236 9396 ...
## $ 외국인.계..명. : int 1363712 149105 228358 986249 337116 15402 808 207 855 805 ...
## $ 외국인.남자..명. : int 788663 97855 164038 526770 165218 7559 391 118 406 401 ...
## $ 외국인.여자..명. : int 575049 51250 64320 459479 171898 7843 417 89 449 404 ...
## $ 가구.계..가구. : int 19560603 1737415 1981033 15842155 3914820 68429 3897 1168 4096 6645 ...
## $ 일반가구..가구. : int 19111030 1695508 1927621 15487901 3784490 61580 3562 1092 3841 6310 ...
## $ 집단가구..가구. : int 16464 2189 4284 9991 2261 106 7 NA 6 16 ...
## $ 외국인가구..가구. : int 433109 39718 49128 344263 128069 6743 328 75 249 319 ...
## $ 주택.계..호. : int 16367006 1614808 1982064 12770134 2793244 43550 2771 799 2957 5754 ...
## $ 단독주택..호. : int 3973961 544351 1524970 1904640 355039 13103 729 714 1092 1533 ...
## $ 아파트..호. : int 9806062 864404 334810 8606848 1636896 12552 1532 NA 121 936 ...
## $ 연립주택..호. : int 485349 66387 31485 387477 117235 5395 78 19 902 2180 ...
## $ 다세대주택..호. : int 1898090 112764 61366 1723960 654372 11664 386 41 806 1044 ...
## $ 비거주용.건물내.주택..호.: int 203544 26902 29433 147209 29702 836 46 25 36 61 ...
## $ 주택이외의.거처..호. : int 607195 49554 78036 479605 150951 4226 633 35 197 130 ...
census_data[1:100, 1:6]
## C행정구역별.읍면동. 행정구역별.읍면동. 시점 총인구..명. 남자..명. 여자..명.
## 1 '00 전국 2015 51069375 25608502 25460873
## 2 '04 읍부 2015 4616802 2360708 2256094
## 3 '05 면부 2015 4774878 2455898 2318980
## 4 '03 동부 2015 41677695 20791896 20885799
## 5 '11 서울특별시 2015 9904312 4859535 5044777
## 6 '11010 종로구 2015 161521 79510 82011
## 7 '1101053 사직동 2015 9379 4325 5054
## 8 '1101054 삼청동 2015 2808 1340 1468
## 9 '1101055 부암동 2015 11012 5327 5685
## 10 '1101056 평창동 2015 18594 8794 9800
## 11 '1101057 무악동 2015 8106 3829 4277
## 12 '1101058 교남동 2015 4620 2234 2386
## 13 '1101060 가회동 2015 4917 2417 2500
## 14 '1101061 종로1·2·3·4가동 2015 7598 4130 3468
## 15 '1101063 종로5·6가동 2015 5792 3128 2664
## 16 '1101064 이화동 2015 9519 4505 5014
## 17 '1101067 창신1동 2015 6766 3519 3247
## 18 '1101068 창신2동 2015 11405 5763 5642
## 19 '1101069 창신3동 2015 7603 3762 3841
## 20 '1101070 숭인1동 2015 7049 3508 3541
## 21 '1101071 숭인2동 2015 9831 5056 4775
## 22 '1101072 청운효자동 2015 13580 6438 7142
## 23 '1101073 혜화동 2015 22942 11435 11507
## 24 '11020 중구 2015 128478 63218 65260
## 25 '1102052 소공동 2015 1939 815 1124
## 26 '1102054 회현동 2015 5501 2891 2610
## 27 '1102055 명동 2015 3328 1542 1786
## 28 '1102057 필동 2015 5506 2812 2694
## 29 '1102058 장충동 2015 6216 3114 3102
## 30 '1102059 광희동 2015 5594 2854 2740
## 31 '1102060 을지로동 2015 1543 933 610
## 32 '1102065 신당5동 2015 10138 5052 5086
## 33 '1102067 황학동 2015 12700 6279 6421
## 34 '1102068 중림동 2015 8392 4188 4204
## 35 '1102069 신당동 2015 8553 4274 4279
## 36 '1102070 다산동 2015 15238 7401 7837
## 37 '1102071 약수동 2015 18023 8625 9398
## 38 '1102072 청구동 2015 14752 7086 7666
## 39 '1102073 동화동 2015 11055 5352 5703
## 40 '11030 용산구 2015 227282 109980 117302
## 41 '1103051 후암동 2015 18092 8891 9201
## 42 '1103052 용산2가동 2015 12267 6070 6197
## 43 '1103053 남영동 2015 7575 4421 3154
## 44 '1103057 원효로2동 2015 14738 6922 7816
## 45 '1103058 효창동 2015 9308 4539 4769
## 46 '1103059 용문동 2015 12267 5898 6369
## 47 '1103063 이촌1동 2015 25412 11820 13592
## 48 '1103064 이촌2동 2015 8918 4233 4685
## 49 '1103065 이태원1동 2015 7753 3995 3758
## 50 '1103066 이태원2동 2015 10112 4894 5218
## 51 '1103069 서빙고동 2015 13068 6337 6731
## 52 '1103070 보광동 2015 16404 8268 8136
## 53 '1103071 청파동 2015 22017 9838 12179
## 54 '1103072 원효로1동 2015 13472 6526 6946
## 55 '1103073 한강로동 2015 14626 7085 7541
## 56 '1103074 한남동 2015 21253 10243 11010
## 57 '11040 성동구 2015 295006 146332 148674
## 58 '1104052 왕십리2동 2015 15831 7746 8085
## 59 '1104054 마장동 2015 24023 11834 12189
## 60 '1104055 사근동 2015 15098 8226 6872
## 61 '1104056 행당1동 2015 14669 7191 7478
## 62 '1104057 행당2동 2015 24973 11871 13102
## 63 '1104058 응봉동 2015 16222 7725 8497
## 64 '1104059 금호1가동 2015 13087 6316 6771
## 65 '1104062 금호4가동 2015 14133 6818 7315
## 66 '1104065 성수1가1동 2015 16715 8435 8280
## 67 '1104066 성수1가2동 2015 17078 8614 8464
## 68 '1104067 성수2가1동 2015 19226 9900 9326
## 69 '1104068 성수2가3동 2015 11983 6181 5802
## 70 '1104069 송정동 2015 11806 6226 5580
## 71 '1104070 용답동 2015 16811 8810 8001
## 72 '1104071 왕십리도선동 2015 19828 9546 10282
## 73 '1104072 금호2·3가동 2015 21740 10509 11231
## 74 '1104073 옥수동 2015 21783 10384 11399
## 75 '11050 광진구 2015 368199 180647 187552
## 76 '1105053 화양동 2015 28159 13678 14481
## 77 '1105054 군자동 2015 23619 11794 11825
## 78 '1105055 중곡1동 2015 15728 7787 7941
## 79 '1105056 중곡2동 2015 21713 10601 11112
## 80 '1105057 중곡3동 2015 17309 8635 8674
## 81 '1105058 중곡4동 2015 30603 15100 15503
## 82 '1105059 능동 2015 11438 5461 5977
## 83 '1105060 구의1동 2015 22663 10904 11759
## 84 '1105061 구의2동 2015 24846 12136 12710
## 85 '1105062 구의3동 2015 28500 13803 14697
## 86 '1105063 광장동 2015 35634 17462 18172
## 87 '1105064 자양1동 2015 23289 11369 11920
## 88 '1105065 자양2동 2015 26721 13366 13355
## 89 '1105066 자양3동 2015 29665 14353 15312
## 90 '1105067 자양4동 2015 28312 14198 14114
## 91 '11060 동대문구 2015 364787 181189 183598
## 92 '1106071 회기동 2015 14317 6878 7439
## 93 '1106072 휘경1동 2015 15376 7608 7768
## 94 '1106073 휘경2동 2015 25400 12485 12915
## 95 '1106080 청량리동 2015 22562 11135 11427
## 96 '1106081 용신동 2015 31711 16065 15646
## 97 '1106082 제기동 2015 27295 13770 13525
## 98 '1106083 전농1동 2015 30107 15427 14680
## 99 '1106084 전농2동 2015 21329 10441 10888
## 100 '1106086 답십리2동 2015 28383 13847 14536
names(census_data) #> 변수명에 "..", "."를 "_"로 바꿔 주어야 함.
## [1] "C행정구역별.읍면동." "행정구역별.읍면동." "시점" "총인구..명." "남자..명." "여자..명."
## [7] "내국인.계..명." "내국인.남자..명." "내국인.여자..명." "외국인.계..명." "외국인.남자..명." "외국인.여자..명."
## [13] "가구.계..가구." "일반가구..가구." "집단가구..가구." "외국인가구..가구." "주택.계..호." "단독주택..호."
## [19] "아파트..호." "연립주택..호." "다세대주택..호." "비거주용.건물내.주택..호." "주택이외의.거처..호."
# gsub("\\.$", "", names(census_data))
# names_census <- gsub("\\.$", "", names(census_data))
# gsub("\\.+", "_", names_census)
# names(census_data) <- gsub("\\.+", "_", names_census)
# names(census_data)
#> piping 으로 흘러가면, data holder "." 을 활용하여
# names(census_data) <- names(census_data) %>%
# {gsub("\\.$", "", .)} %>%
# {gsub("\\.+", "_", .)}
#> {}는 없어도 무방
names(census_data) <- names(census_data) %>%
gsub("\\.$", "", .) %>%
gsub("\\.+", "_", .)
names(census_data) #> 바뀐 변수명 확인
## [1] "C행정구역별_읍면동" "행정구역별_읍면동" "시점" "총인구_명" "남자_명" "여자_명"
## [7] "내국인_계_명" "내국인_남자_명" "내국인_여자_명" "외국인_계_명" "외국인_남자_명" "외국인_여자_명"
## [13] "가구_계_가구" "일반가구_가구" "집단가구_가구" "외국인가구_가구" "주택_계_호" "단독주택_호"
## [19] "아파트_호" "연립주택_호" "다세대주택_호" "비거주용_건물내_주택_호" "주택이외의_거처_호"
census_data %>%
.[, 1] %>%
head()
## [1] "'00" "'04" "'05" "'03" "'11" "'11010"
# head(census_data$C행정구역별_읍면동) #> code 앞 자리에 "`" 제거 필요
census_data$C행정구역별_읍면동 <- census_data$C행정구역별_읍면동 %>%
sub("^\\'", "", .)
# head(census_data$C행정구역별_읍면동) #> 처리 결과 확인
census_data %>%
.[, 1] %>%
head()
## [1] "00" "04" "05" "03" "11" "11010"
census_data %>% #> 읍면동 명 앞에 빈 공간 존재 확인
.[, 2] %>%
head(10)
## [1] "전국" "읍부" "면부" "동부" "서울특별시" " 종로구" " 사직동" " 삼청동" " 부암동" " 평창동"
census_data$행정구역별_읍면동 <- census_data$행정구역별_읍면동 %>%
gsub("^\\s+", "", .)
census_data %>% #> 읍면동 명 앞에 빈 공간 존재 확인
.[, 2] %>%
head(20)
## [1] "전국" "읍부" "면부" "동부" "서울특별시" "종로구" "사직동" "삼청동" "부암동"
## [10] "평창동" "무악동" "교남동" "가회동" "종로1·2·3·4가동" "종로5·6가동" "이화동" "창신1동" "창신2동"
## [19] "창신3동" "숭인1동"
census_data[1:10, 1:6] #> 다음 "%>%"를 이용하는 방법들은 모두 동일한 결과
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 00 전국 2015 51069375 25608502 25460873
## 2 04 읍부 2015 4616802 2360708 2256094
## 3 05 면부 2015 4774878 2455898 2318980
## 4 03 동부 2015 41677695 20791896 20885799
## 5 11 서울특별시 2015 9904312 4859535 5044777
## 6 11010 종로구 2015 161521 79510 82011
## 7 1101053 사직동 2015 9379 4325 5054
## 8 1101054 삼청동 2015 2808 1340 1468
## 9 1101055 부암동 2015 11012 5327 5685
## 10 1101056 평창동 2015 18594 8794 9800
census_data %>%
"["(., 1:10, 1:6)
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 00 전국 2015 51069375 25608502 25460873
## 2 04 읍부 2015 4616802 2360708 2256094
## 3 05 면부 2015 4774878 2455898 2318980
## 4 03 동부 2015 41677695 20791896 20885799
## 5 11 서울특별시 2015 9904312 4859535 5044777
## 6 11010 종로구 2015 161521 79510 82011
## 7 1101053 사직동 2015 9379 4325 5054
## 8 1101054 삼청동 2015 2808 1340 1468
## 9 1101055 부암동 2015 11012 5327 5685
## 10 1101056 평창동 2015 18594 8794 9800
census_data %>%
`[`(., 1:10, ) %>%
select(C행정구역별_읍면동:여자_명)
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 00 전국 2015 51069375 25608502 25460873
## 2 04 읍부 2015 4616802 2360708 2256094
## 3 05 면부 2015 4774878 2455898 2318980
## 4 03 동부 2015 41677695 20791896 20885799
## 5 11 서울특별시 2015 9904312 4859535 5044777
## 6 11010 종로구 2015 161521 79510 82011
## 7 1101053 사직동 2015 9379 4325 5054
## 8 1101054 삼청동 2015 2808 1340 1468
## 9 1101055 부암동 2015 11012 5327 5685
## 10 1101056 평창동 2015 18594 8794 9800
census_data %>%
slice(1:10) %>%
select(C행정구역별_읍면동:여자_명)
## # A tibble: 10 x 6
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## <chr> <chr> <int> <int> <int> <int>
## 1 00 전국 2015 51069375 25608502 25460873
## 2 04 읍부 2015 4616802 2360708 2256094
## 3 05 면부 2015 4774878 2455898 2318980
## 4 03 동부 2015 41677695 20791896 20885799
## 5 11 서울특별시 2015 9904312 4859535 5044777
## 6 11010 종로구 2015 161521 79510 82011
## 7 1101053 사직동 2015 9379 4325 5054
## 8 1101054 삼청동 2015 2808 1340 1468
## 9 1101055 부암동 2015 11012 5327 5685
## 10 1101056 평창동 2015 18594 8794 9800
census_data %>%
.[1:10, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 00 전국 2015 51069375 25608502 25460873
## 2 04 읍부 2015 4616802 2360708 2256094
## 3 05 면부 2015 4774878 2455898 2318980
## 4 03 동부 2015 41677695 20791896 20885799
## 5 11 서울특별시 2015 9904312 4859535 5044777
## 6 11010 종로구 2015 161521 79510 82011
## 7 1101053 사직동 2015 9379 4325 5054
## 8 1101054 삼청동 2015 2808 1340 1468
## 9 1101055 부암동 2015 11012 5327 5685
## 10 1101056 평창동 2015 18594 8794 9800
census_data %>% #> 세종특별자치시의 득수성, 광역으로 분류되면서 시군구에도 동시 분류
filter({
census_data %>% #> `{}`의 용법에 유의.
# select(C행정구역별_읍면동) %>% #> 작동하지 않음. list 추출
.[, 1] %>% #> 작동함. atomic vector cncnf
substr(1, 2) %>%
`==`("29")}) %>%
select(C행정구역별_읍면동:여자_명)
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 29 세종특별자치시 2015 204088 103210 100878
## 2 29004 읍부 2015 52834 27591 25243
## 3 29005 면부 2015 50155 26356 23799
## 4 29003 동부 2015 101099 49263 51836
## 5 29010 세종시 2015 204088 103210 100878
## 6 2901011 조치원읍 2015 52834 27591 25243
## 7 2901031 연기면 2015 2513 1347 1166
## 8 2901032 연동면 2015 3690 1880 1810
## 9 2901033 부강면 2015 6630 3601 3029
## 10 2901034 금남면 2015 9008 4661 4347
## 11 2901035 장군면 2015 6968 3598 3370
## 12 2901036 연서면 2015 7394 3851 3543
## 13 2901037 전의면 2015 6886 3627 3259
## 14 2901038 전동면 2015 4101 2245 1856
## 15 2901039 소정면 2015 2965 1546 1419
## 16 2901051 한솔동 2015 20078 9839 10239
## 17 2901053 도담동 2015 26611 12759 13852
## 18 2901054 아름동 2015 54410 26665 27745
#> piping 을 최소화하면,
# census_data %>%
# filter(substr(census_data$C행정구역별_읍면동, 1, 2) == "29") %>%
# select(C행정구역별_읍면동:여자_명)
data_sido <- census_data %>% #> 시도 코드는 두 자리이고 11(서울)부터 매겨짐. 00은 전체, 03은 동, 04는 읍, 05는 면부의 총계임.
# filter(nchar(C행정구역별_읍면동) == 2 &
# C행정구역별_읍면동 >= 11)
filter({
census_data %>%
.[, 1] %>%
nchar() %>%
`==`(2)} &
{census_data %>%
.[, 1] %>%
`>=`(11)})
census_data %>%
names()
## [1] "C행정구역별_읍면동" "행정구역별_읍면동" "시점" "총인구_명" "남자_명" "여자_명"
## [7] "내국인_계_명" "내국인_남자_명" "내국인_여자_명" "외국인_계_명" "외국인_남자_명" "외국인_여자_명"
## [13] "가구_계_가구" "일반가구_가구" "집단가구_가구" "외국인가구_가구" "주택_계_호" "단독주택_호"
## [19] "아파트_호" "연립주택_호" "다세대주택_호" "비거주용_건물내_주택_호" "주택이외의_거처_호"
# names(census_data)
# data_sido %>%
# mutate(code = C행정구역별_읍면동)
data_sido$code <- data_sido$C행정구역별_읍면동 #> `map_id` 설정
code_chuncheon <- census_data %>%
select(C행정구역별_읍면동) %>%
filter({
census_data %>%
.[, 2] %>%
`==`("춘천시")
})
# select(C행정구역별_읍면동) #> 앞에서 `select()`하고 `filter()`를 수행하거나 앞에서 `filter()` 를 수행하고 뒤에서 `select()`를 해도 결과는 같음.
# .[, 1] #> 값만 추출하고자 할 때는 이 방법이 적절함
code_chuncheon
## C행정구역별_읍면동
## 1 32010
# census_data$C행정구역별_읍면동[census_data$행정구역별_읍면동 == "춘천시"]
str(code_chuncheon)
## 'data.frame': 1 obs. of 1 variable:
## $ C행정구역별_읍면동: chr "32010"
code_chuncheon == "32010"
## C행정구역별_읍면동
## [1,] TRUE
code_chuncheon <- unname(unlist(code_chuncheon))
code_chuncheon
## [1] "32010"
code_inje <- census_data %>%
select(C행정구역별_읍면동) %>%
filter({
census_data %>%
.[, 2] %>%
`==`("인제군")
})
code_inje <- unname(unlist(code_inje))
code_inje
## [1] "32390"
data_sido %>%
.[ , 1:6] %>%
head(10)
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11 서울특별시 2015 9904312 4859535 5044777
## 2 21 부산광역시 2015 3448737 1701347 1747390
## 3 22 대구광역시 2015 2466052 1228511 1237541
## 4 23 인천광역시 2015 2890451 1455017 1435434
## 5 24 광주광역시 2015 1502881 748867 754014
## 6 25 대전광역시 2015 1538394 772243 766151
## 7 26 울산광역시 2015 1166615 606924 559691
## 8 29 세종특별자치시 2015 204088 103210 100878
## 9 31 경기도 2015 12479061 6309661 6169400
## 10 32 강원도 2015 1518040 768241 749799
data_sido %>%
nrow()
## [1] 17
data_sido %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11 서울특별시 2015 9904312 4859535 5044777
## 2 21 부산광역시 2015 3448737 1701347 1747390
## 3 22 대구광역시 2015 2466052 1228511 1237541
## 4 23 인천광역시 2015 2890451 1455017 1435434
## 5 24 광주광역시 2015 1502881 748867 754014
## 6 25 대전광역시 2015 1538394 772243 766151
## 7 26 울산광역시 2015 1166615 606924 559691
## 8 29 세종특별자치시 2015 204088 103210 100878
## 9 31 경기도 2015 12479061 6309661 6169400
## 10 32 강원도 2015 1518040 768241 749799
## 11 33 충청북도 2015 1589347 805377 783970
## 12 34 충청남도 2015 2107802 1078310 1029492
## 13 35 전라북도 2015 1834114 915729 918385
## 14 36 전라남도 2015 1799044 900967 898077
## 15 37 경상북도 2015 2680294 1351037 1329257
## 16 38 경상남도 2015 3334524 1698737 1635787
## 17 39 제주특별자치도 2015 605619 304789 300830
data_sigungu <- census_data %>% #> 5자리 코드를 시군구로 걸러냄.
# filter(nchar(C행정구역별_읍면동) == 5)
filter(
{census_data %>%
.[, 1] %>%
nchar() %>%
`==`(5)})
data_sigungu %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11010 종로구 2015 161521 79510 82011
## 2 11020 중구 2015 128478 63218 65260
## 3 11030 용산구 2015 227282 109980 117302
## 4 11040 성동구 2015 295006 146332 148674
## 5 11050 광진구 2015 368199 180647 187552
## 6 11060 동대문구 2015 364787 181189 183598
## 7 11070 중랑구 2015 403237 199936 203301
## 8 11080 성북구 2015 456844 221861 234983
## 9 11090 강북구 2015 319992 156386 163606
## 10 11100 도봉구 2015 340095 166187 173908
## 11 11110 노원구 2015 562996 274128 288868
## 12 11120 은평구 2015 478374 232709 245665
## 13 11130 서대문구 2015 308768 147956 160812
## 14 11140 마포구 2015 381330 182657 198673
## 15 11150 양천구 2015 465512 229878 235634
## 16 11160 강서구 2015 570507 278270 292237
## 17 11170 구로구 2015 444832 222985 221847
## 18 11180 금천구 2015 250690 128036 122654
## 19 11190 영등포구 2015 406528 203801 202727
## 20 11200 동작구 2015 407894 200602 207292
## 21 11210 관악구 2015 519622 261967 257655
## 22 11220 서초구 2015 420804 201841 218963
## 23 11230 강남구 2015 541688 259526 282162
## 24 11240 송파구 2015 634941 309336 325605
## 25 11250 강동구 2015 444385 220597 223788
## 26 21004 읍부 2015 132088 65120 66968
## 27 21005 면부 2015 15985 8061 7924
## 28 21003 동부 2015 3300664 1628166 1672498
## 29 21010 중구 2015 45377 22483 22894
## 30 21020 서구 2015 111996 54966 57030
## 31 21030 동구 2015 89202 43693 45509
## 32 21040 영도구 2015 129515 65271 64244
## 33 21050 부산진구 2015 376321 182765 193556
## 34 21060 동래구 2015 262154 128417 133737
## 35 21070 남구 2015 283741 139889 143852
## 36 21080 북구 2015 299182 148380 150802
## 37 21090 해운대구 2015 409037 199004 210033
## 38 21100 사하구 2015 334762 167470 167292
## 39 21110 금정구 2015 249444 122287 127157
## 40 21120 강서구 2015 92628 49588 43040
## 41 21130 연제구 2015 203527 99356 104171
## 42 21140 수영구 2015 173069 82744 90325
## 43 21150 사상구 2015 240709 121853 118856
## 44 21310 기장군 2015 148073 73181 74892
## 45 22004 읍부 2015 138621 71169 67452
## 46 22005 면부 2015 51231 26668 24563
## 47 22003 동부 2015 2276200 1130674 1145526
## 48 22010 중구 2015 78334 38087 40247
## 49 22020 동구 2015 339608 168319 171289
## 50 22030 서구 2015 202963 102410 100553
## 51 22040 남구 2015 160164 77484 82680
## 52 22050 북구 2015 450579 226389 224190
## 53 22060 수성구 2015 437328 214012 223316
## 54 22070 달서구 2015 607224 303973 303251
## 55 22310 달성군 2015 189852 97837 92015
## 56 23004 읍부 2015 21089 10530 10559
## 57 23005 면부 2015 59844 31395 28449
## 58 23003 동부 2015 2809518 1413092 1396426
## 59 23010 중구 2015 112910 58048 54862
## 60 23020 동구 2015 71054 35690 35364
## 61 23030 남구 2015 405746 205639 200107
## 62 23040 연수구 2015 317172 158521 158651
## 63 23050 남동구 2015 527324 265206 262118
## 64 23060 부평구 2015 548461 272632 275829
## 65 23070 계양구 2015 327311 163077 164234
## 66 23080 서구 2015 499540 254279 245261
## 67 23310 강화군 2015 62291 31298 30993
## 68 23320 옹진군 2015 18642 10627 8015
## 69 24010 동구 2015 104173 52286 51887
## 70 24020 서구 2015 305512 151010 154502
## 71 24030 남구 2015 221759 107673 114086
## 72 24040 북구 2015 459715 229791 229924
## 73 24050 광산구 2015 411722 208107 203615
## 74 25010 동구 2015 247975 125189 122786
## 75 25020 중구 2015 250434 123975 126459
## 76 25030 서구 2015 491507 242100 249407
## 77 25040 유성구 2015 350015 180320 169695
## 78 25050 대덕구 2015 198463 100659 97804
## 79 26004 읍부 2015 154247 81063 73184
## 80 26005 면부 2015 68492 35791 32701
## 81 26003 동부 2015 943876 490070 453806
## 82 26010 중구 2015 236988 120967 116021
## 83 26020 남구 2015 341363 175212 166151
## 84 26030 동구 2015 176861 95586 81275
## 85 26040 북구 2015 188664 98305 90359
## 86 26310 울주군 2015 222739 116854 105885
## 87 29004 읍부 2015 52834 27591 25243
## 88 29005 면부 2015 50155 26356 23799
## 89 29003 동부 2015 101099 49263 51836
## 90 29010 세종시 2015 204088 103210 100878
## 91 31004 읍부 2015 1273396 657110 616286
## 92 31005 면부 2015 868833 471517 397316
## 93 31003 동부 2015 10336832 5181034 5155798
## 94 31010 수원시 2015 1194313 602702 591611
## 95 31011 장안구 2015 299611 151312 148299
## 96 31012 권선구 2015 349339 175856 173483
## 97 31013 팔달구 2015 208903 105184 103719
## 98 31014 영통구 2015 336460 170350 166110
## 99 31020 성남시 2015 948757 470483 478274
## 100 31021 수정구 2015 225967 114620 111347
## 101 31022 중원구 2015 244451 123308 121143
## 102 31023 분당구 2015 478339 232555 245784
## 103 31030 의정부시 2015 421579 208264 213315
## 104 31040 안양시 2015 585177 290592 294585
## 105 31041 만안구 2015 245305 122912 122393
## 106 31042 동안구 2015 339872 167680 172192
## 107 31050 부천시 2015 843794 420867 422927
## 108 31051 원미구 2015 440396 218373 222023
## 109 31052 소사구 2015 221553 110016 111537
## 110 31053 오정구 2015 181845 92478 89367
## 111 31060 광명시 2015 338509 167641 170868
## 112 31070 평택시 2015 457873 236164 221709
## 113 31080 동두천시 2015 97424 48625 48799
## 114 31090 안산시 2015 747035 386254 360781
## 115 31091 상록구 2015 383508 195050 188458
## 116 31092 단원구 2015 363527 191204 172323
## 117 31100 고양시 2015 990073 486128 503945
## 118 31101 덕양구 2015 425100 210781 214319
## 119 31103 일산동구 2015 277925 135656 142269
## 120 31104 일산서구 2015 287048 139691 147357
## 121 31110 과천시 2015 64817 31557 33260
## 122 31120 구리시 2015 180063 89294 90769
## 123 31130 남양주시 2015 629061 314270 314791
## 124 31140 오산시 2015 213840 109743 104097
## 125 31150 시흥시 2015 425184 226111 199073
## 126 31160 군포시 2015 285721 142116 143605
## 127 31170 의왕시 2015 154879 77353 77526
## 128 31180 하남시 2015 154838 78307 76531
## 129 31190 용인시 2015 971327 485568 485759
## 130 31191 처인구 2015 231892 120555 111337
## 131 31192 기흥구 2015 407238 202288 204950
## 132 31193 수지구 2015 332197 162725 169472
## 133 31200 파주시 2015 415345 212388 202957
## 134 31210 이천시 2015 209003 106437 102566
## 135 31220 안성시 2015 194765 100873 93892
## 136 31230 김포시 2015 352683 181687 170996
## 137 31240 화성시 2015 608725 321376 287349
## 138 31250 광주시 2015 310278 160954 149324
## 139 31260 양주시 2015 205988 106033 99955
## 140 31270 포천시 2015 163388 88047 75341
## 141 31280 여주시 2015 109937 55713 54224
## 142 31350 연천군 2015 43846 22880 20966
## 143 31370 가평군 2015 58909 29933 28976
## 144 31380 양평군 2015 101930 51301 50629
## 145 32004 읍부 2015 263480 135749 127731
## 146 32005 면부 2015 334016 173468 160548
## 147 32003 동부 2015 920544 459024 461520
## 148 32010 춘천시 2015 281596 138548 143048
## 149 32020 원주시 2015 330854 165595 165259
## 150 32030 강릉시 2015 215677 108604 107073
## 151 32040 동해시 2015 90255 45712 44543
## 152 32050 태백시 2015 46715 23689 23026
## 153 32060 속초시 2015 79846 39482 40364
## 154 32070 삼척시 2015 69509 35953 33556
## 155 32310 홍천군 2015 67190 34285 32905
## 156 32320 횡성군 2015 42669 21519 21150
## 157 32330 영월군 2015 36967 18902 18065
## 158 32340 평창군 2015 40427 20711 19716
## 159 32350 정선군 2015 36701 18976 17725
## 160 32360 철원군 2015 46025 24692 21333
## 161 32370 화천군 2015 25343 14176 11167
## 162 32380 양구군 2015 22497 12029 10468
## 163 32390 인제군 2015 31219 16938 14281
## 164 32400 고성군 2015 28689 15348 13341
## 165 32410 양양군 2015 25861 13082 12779
## 166 33004 읍부 2015 309858 159559 150299
## 167 33005 면부 2015 328701 171469 157232
## 168 33003 동부 2015 950788 474349 476439
## 169 33020 충주시 2015 211005 107171 103834
## 170 33030 제천시 2015 136350 68515 67835
## 171 33040 청주시 2015 833276 417411 415865
## 172 33041 상당구 2015 171877 85662 86215
## 173 33042 서원구 2015 222721 110177 112544
## 174 33043 흥덕구 2015 255542 128512 127030
## 175 33044 청원구 2015 183136 93060 90076
## 176 33320 보은군 2015 32522 16129 16393
## 177 33330 옥천군 2015 50704 25511 25193
## 178 33340 영동군 2015 49542 24759 24783
## 179 33350 진천군 2015 71152 38173 32979
## 180 33360 괴산군 2015 37830 19365 18465
## 181 33370 음성군 2015 102023 55512 46511
## 182 33380 단양군 2015 28770 14456 14314
## 183 33390 증평군 2015 36173 18375 17798
## 184 34004 읍부 2015 489361 251758 237603
## 185 34005 면부 2015 681198 353965 327233
## 186 34003 동부 2015 937243 472587 464656
## 187 34010 천안시 2015 629062 322793 306269
## 188 34011 동남구 2015 277781 142078 135703
## 189 34012 서북구 2015 351281 180715 170566
## 190 34020 공주시 2015 113542 56610 56932
## 191 34030 보령시 2015 101852 52245 49607
## 192 34040 아산시 2015 319929 166820 153109
## 193 34050 서산시 2015 169221 87287 81934
## 194 34060 논산시 2015 124246 62191 62055
## 195 34070 계룡시 2015 39243 19447 19796
## 196 34080 당진시 2015 163762 86801 76961
## 197 34310 금산군 2015 55923 28086 27837
## 198 34330 부여군 2015 69017 34262 34755
## 199 34340 서천군 2015 54768 27161 27607
## 200 34350 청양군 2015 31653 15841 15812
## 201 34360 홍성군 2015 94114 47283 46831
## 202 34370 예산군 2015 81747 41150 40597
## 203 34380 태안군 2015 59723 30333 29390
## 204 35004 읍부 2015 156255 78402 77853
## 205 35005 면부 2015 380514 188924 191590
## 206 35003 동부 2015 1297345 648403 648942
## 207 35010 전주시 2015 658172 325652 332520
## 208 35011 완산구 2015 367243 180484 186759
## 209 35012 덕진구 2015 290929 145168 145761
## 210 35020 군산시 2015 275155 141399 133756
## 211 35030 익산시 2015 301723 151707 150016
## 212 35040 정읍시 2015 110627 54898 55729
## 213 35050 남원시 2015 80499 39380 41119
## 214 35060 김제시 2015 84269 41856 42413
## 215 35310 완주군 2015 95357 48888 46469
## 216 35320 진안군 2015 22886 11158 11728
## 217 35330 무주군 2015 23408 11503 11905
## 218 35340 장수군 2015 21620 10634 10986
## 219 35350 임실군 2015 25935 12791 13144
## 220 35360 순창군 2015 26707 12779 13928
## 221 35370 고창군 2015 55665 27464 28201
## 222 35380 부안군 2015 52091 25620 26471
## 223 36004 읍부 2015 432653 217593 215060
## 224 36005 면부 2015 584676 287442 297234
## 225 36003 동부 2015 781715 395932 385783
## 226 36010 목포시 2015 239524 120500 119024
## 227 36020 여수시 2015 273761 139565 134196
## 228 36030 순천시 2015 265390 132329 133061
## 229 36040 나주시 2015 92582 46188 46394
## 230 36060 광양시 2015 144414 74195 70219
## 231 36310 담양군 2015 43634 21499 22135
## 232 36320 곡성군 2015 28617 13764 14853
## 233 36330 구례군 2015 24595 11893 12702
## 234 36350 고흥군 2015 62477 30075 32402
## 235 36360 보성군 2015 40688 19495 21193
## 236 36370 화순군 2015 61380 29583 31797
## 237 36380 장흥군 2015 36890 17843 19047
## 238 36390 강진군 2015 35126 16754 18372
## 239 36400 해남군 2015 69237 33940 35297
## 240 36410 영암군 2015 61535 33155 28380
## 241 36420 무안군 2015 80521 40472 40049
## 242 36430 함평군 2015 31367 15387 15980
## 243 36440 영광군 2015 51007 25292 25715
## 244 36450 장성군 2015 42058 20966 21092
## 245 36460 완도군 2015 48468 24624 23844
## 246 36470 진도군 2015 29538 14648 14890
## 247 36480 신안군 2015 36235 18800 17435
## 248 37004 읍부 2015 605054 307935 297119
## 249 37005 면부 2015 635226 316723 318503
## 250 37003 동부 2015 1440014 726379 713635
## 251 37010 포항시 2015 511804 259502 252302
## 252 37011 남구 2015 243870 126467 117403
## 253 37012 북구 2015 267934 133035 134899
## 254 37020 경주시 2015 262310 133092 129218
## 255 37030 김천시 2015 137540 68528 69012
## 256 37040 안동시 2015 168581 83170 85411
## 257 37050 구미시 2015 421075 216825 204250
## 258 37060 영주시 2015 109266 54737 54529
## 259 37070 영천시 2015 97669 49573 48096
## 260 37080 상주시 2015 98760 48392 50368
## 261 37090 문경시 2015 71863 35180 36683
## 262 37100 경산시 2015 278500 140493 138007
## 263 37310 군위군 2015 22012 11000 11012
## 264 37320 의성군 2015 51021 24577 26444
## 265 37330 청송군 2015 24732 12185 12547
## 266 37340 영양군 2015 16781 8069 8712
## 267 37350 영덕군 2015 36539 17416 19123
## 268 37360 청도군 2015 41596 19840 21756
## 269 37370 고령군 2015 34117 17588 16529
## 270 37380 성주군 2015 41179 20981 20198
## 271 37390 칠곡군 2015 122462 63739 58723
## 272 37400 예천군 2015 42702 20782 21920
## 273 37410 봉화군 2015 31628 15563 16065
## 274 37420 울진군 2015 49387 25085 24302
## 275 37430 울릉군 2015 8770 4720 4050
## 276 38004 읍부 2015 458732 230993 227739
## 277 38005 면부 2015 684929 348055 336874
## 278 38003 동부 2015 2190863 1119689 1071174
## 279 38030 진주시 2015 349788 174628 175160
## 280 38050 통영시 2015 137208 70701 66507
## 281 38060 사천시 2015 113335 57815 55520
## 282 38070 김해시 2015 534124 274843 259281
## 283 38080 밀양시 2015 103069 50357 52712
## 284 38090 거제시 2015 261371 142297 119074
## 285 38100 양산시 2015 297532 150294 147238
## 286 38110 창원시 2015 1059241 541834 517407
## 287 38111 의창구 2015 255200 130777 124423
## 288 38112 성산구 2015 234908 122454 112454
## 289 38113 마산합포구 2015 178945 89461 89484
## 290 38114 마산회원구 2015 208766 105597 103169
## 291 38115 진해구 2015 181422 93545 87877
## 292 38310 의령군 2015 27069 13021 14048
## 293 38320 함안군 2015 69355 36055 33300
## 294 38330 창녕군 2015 61635 30805 30830
## 295 38340 고성군 2015 53882 27420 26462
## 296 38350 남해군 2015 44248 21277 22971
## 297 38360 하동군 2015 44918 21951 22967
## 298 38370 산청군 2015 34034 16359 17675
## 299 38380 함양군 2015 38454 18378 20076
## 300 38390 거창군 2015 60464 29567 30897
## 301 38400 합천군 2015 44797 21135 23662
## 302 39004 읍부 2015 129134 66136 62998
## 303 39005 면부 2015 31078 16064 15014
## 304 39003 동부 2015 445407 222589 222818
## 305 39010 제주시 2015 451758 226801 224957
## 306 39020 서귀포시 2015 153861 77988 75873
data_sigungu %>%
nrow()
## [1] 306
# nrow(data_sigungu)
data_sigungu %>%
.[1:10, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11010 종로구 2015 161521 79510 82011
## 2 11020 중구 2015 128478 63218 65260
## 3 11030 용산구 2015 227282 109980 117302
## 4 11040 성동구 2015 295006 146332 148674
## 5 11050 광진구 2015 368199 180647 187552
## 6 11060 동대문구 2015 364787 181189 183598
## 7 11070 중랑구 2015 403237 199936 203301
## 8 11080 성북구 2015 456844 221861 234983
## 9 11090 강북구 2015 319992 156386 163606
## 10 11100 도봉구 2015 340095 166187 173908
data_sigungu %>% #> 시군구로 분류되어 있는 세종시 통계에 읍부, 면부, 동부 통계 포함
# filter(substr(data_sigungu$C행정구역별_읍면동, 1, 2) == "29") %>%
# .[ , 1:6]
filter({
data_sigungu %>%
.[, 1] %>%
substr(1, 2) %>%
`==`("29")}) %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 29004 읍부 2015 52834 27591 25243
## 2 29005 면부 2015 50155 26356 23799
## 3 29003 동부 2015 101099 49263 51836
## 4 29010 세종시 2015 204088 103210 100878
# substr(data_sigungu[, 1], 3, 5) %in% c("003", "004", "005")
data_sigungu %>%
.[, 1] %>%
substr(3, 5) %>%
`%in%`(c("003", "004", "005")) %>%
`!`
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE
## [30] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
## [59] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE
## [88] FALSE FALSE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [117] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
## [146] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
## [175] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [204] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [233] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [262] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [291] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE
data_sgg <- data_sigungu %>%
filter({
data_sigungu %>%
.[, 1] %>%
substr(3, 5) %>%
`%in%`(c("003", "004", "005")) %>%
`!`
})
# filter(!(substr(data_sigungu[, 1], 3, 5) %in% c("003", "004", "005")))
data_sgg %>%
nrow()
## [1] 264
# nrow(data_sgg)
data_sigungu %>%
nrow()
## [1] 306
# nrow(data_sigungu)
nrow(data_sigungu) - nrow(data_sgg)
## [1] 42
data_sido %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11 서울특별시 2015 9904312 4859535 5044777
## 2 21 부산광역시 2015 3448737 1701347 1747390
## 3 22 대구광역시 2015 2466052 1228511 1237541
## 4 23 인천광역시 2015 2890451 1455017 1435434
## 5 24 광주광역시 2015 1502881 748867 754014
## 6 25 대전광역시 2015 1538394 772243 766151
## 7 26 울산광역시 2015 1166615 606924 559691
## 8 29 세종특별자치시 2015 204088 103210 100878
## 9 31 경기도 2015 12479061 6309661 6169400
## 10 32 강원도 2015 1518040 768241 749799
## 11 33 충청북도 2015 1589347 805377 783970
## 12 34 충청남도 2015 2107802 1078310 1029492
## 13 35 전라북도 2015 1834114 915729 918385
## 14 36 전라남도 2015 1799044 900967 898077
## 15 37 경상북도 2015 2680294 1351037 1329257
## 16 38 경상남도 2015 3334524 1698737 1635787
## 17 39 제주특별자치도 2015 605619 304789 300830
data_sgg %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 11010 종로구 2015 161521 79510 82011
## 2 11020 중구 2015 128478 63218 65260
## 3 11030 용산구 2015 227282 109980 117302
## 4 11040 성동구 2015 295006 146332 148674
## 5 11050 광진구 2015 368199 180647 187552
## 6 11060 동대문구 2015 364787 181189 183598
## 7 11070 중랑구 2015 403237 199936 203301
## 8 11080 성북구 2015 456844 221861 234983
## 9 11090 강북구 2015 319992 156386 163606
## 10 11100 도봉구 2015 340095 166187 173908
## 11 11110 노원구 2015 562996 274128 288868
## 12 11120 은평구 2015 478374 232709 245665
## 13 11130 서대문구 2015 308768 147956 160812
## 14 11140 마포구 2015 381330 182657 198673
## 15 11150 양천구 2015 465512 229878 235634
## 16 11160 강서구 2015 570507 278270 292237
## 17 11170 구로구 2015 444832 222985 221847
## 18 11180 금천구 2015 250690 128036 122654
## 19 11190 영등포구 2015 406528 203801 202727
## 20 11200 동작구 2015 407894 200602 207292
## 21 11210 관악구 2015 519622 261967 257655
## 22 11220 서초구 2015 420804 201841 218963
## 23 11230 강남구 2015 541688 259526 282162
## 24 11240 송파구 2015 634941 309336 325605
## 25 11250 강동구 2015 444385 220597 223788
## 26 21010 중구 2015 45377 22483 22894
## 27 21020 서구 2015 111996 54966 57030
## 28 21030 동구 2015 89202 43693 45509
## 29 21040 영도구 2015 129515 65271 64244
## 30 21050 부산진구 2015 376321 182765 193556
## 31 21060 동래구 2015 262154 128417 133737
## 32 21070 남구 2015 283741 139889 143852
## 33 21080 북구 2015 299182 148380 150802
## 34 21090 해운대구 2015 409037 199004 210033
## 35 21100 사하구 2015 334762 167470 167292
## 36 21110 금정구 2015 249444 122287 127157
## 37 21120 강서구 2015 92628 49588 43040
## 38 21130 연제구 2015 203527 99356 104171
## 39 21140 수영구 2015 173069 82744 90325
## 40 21150 사상구 2015 240709 121853 118856
## 41 21310 기장군 2015 148073 73181 74892
## 42 22010 중구 2015 78334 38087 40247
## 43 22020 동구 2015 339608 168319 171289
## 44 22030 서구 2015 202963 102410 100553
## 45 22040 남구 2015 160164 77484 82680
## 46 22050 북구 2015 450579 226389 224190
## 47 22060 수성구 2015 437328 214012 223316
## 48 22070 달서구 2015 607224 303973 303251
## 49 22310 달성군 2015 189852 97837 92015
## 50 23010 중구 2015 112910 58048 54862
## 51 23020 동구 2015 71054 35690 35364
## 52 23030 남구 2015 405746 205639 200107
## 53 23040 연수구 2015 317172 158521 158651
## 54 23050 남동구 2015 527324 265206 262118
## 55 23060 부평구 2015 548461 272632 275829
## 56 23070 계양구 2015 327311 163077 164234
## 57 23080 서구 2015 499540 254279 245261
## 58 23310 강화군 2015 62291 31298 30993
## 59 23320 옹진군 2015 18642 10627 8015
## 60 24010 동구 2015 104173 52286 51887
## 61 24020 서구 2015 305512 151010 154502
## 62 24030 남구 2015 221759 107673 114086
## 63 24040 북구 2015 459715 229791 229924
## 64 24050 광산구 2015 411722 208107 203615
## 65 25010 동구 2015 247975 125189 122786
## 66 25020 중구 2015 250434 123975 126459
## 67 25030 서구 2015 491507 242100 249407
## 68 25040 유성구 2015 350015 180320 169695
## 69 25050 대덕구 2015 198463 100659 97804
## 70 26010 중구 2015 236988 120967 116021
## 71 26020 남구 2015 341363 175212 166151
## 72 26030 동구 2015 176861 95586 81275
## 73 26040 북구 2015 188664 98305 90359
## 74 26310 울주군 2015 222739 116854 105885
## 75 29010 세종시 2015 204088 103210 100878
## 76 31010 수원시 2015 1194313 602702 591611
## 77 31011 장안구 2015 299611 151312 148299
## 78 31012 권선구 2015 349339 175856 173483
## 79 31013 팔달구 2015 208903 105184 103719
## 80 31014 영통구 2015 336460 170350 166110
## 81 31020 성남시 2015 948757 470483 478274
## 82 31021 수정구 2015 225967 114620 111347
## 83 31022 중원구 2015 244451 123308 121143
## 84 31023 분당구 2015 478339 232555 245784
## 85 31030 의정부시 2015 421579 208264 213315
## 86 31040 안양시 2015 585177 290592 294585
## 87 31041 만안구 2015 245305 122912 122393
## 88 31042 동안구 2015 339872 167680 172192
## 89 31050 부천시 2015 843794 420867 422927
## 90 31051 원미구 2015 440396 218373 222023
## 91 31052 소사구 2015 221553 110016 111537
## 92 31053 오정구 2015 181845 92478 89367
## 93 31060 광명시 2015 338509 167641 170868
## 94 31070 평택시 2015 457873 236164 221709
## 95 31080 동두천시 2015 97424 48625 48799
## 96 31090 안산시 2015 747035 386254 360781
## 97 31091 상록구 2015 383508 195050 188458
## 98 31092 단원구 2015 363527 191204 172323
## 99 31100 고양시 2015 990073 486128 503945
## 100 31101 덕양구 2015 425100 210781 214319
## 101 31103 일산동구 2015 277925 135656 142269
## 102 31104 일산서구 2015 287048 139691 147357
## 103 31110 과천시 2015 64817 31557 33260
## 104 31120 구리시 2015 180063 89294 90769
## 105 31130 남양주시 2015 629061 314270 314791
## 106 31140 오산시 2015 213840 109743 104097
## 107 31150 시흥시 2015 425184 226111 199073
## 108 31160 군포시 2015 285721 142116 143605
## 109 31170 의왕시 2015 154879 77353 77526
## 110 31180 하남시 2015 154838 78307 76531
## 111 31190 용인시 2015 971327 485568 485759
## 112 31191 처인구 2015 231892 120555 111337
## 113 31192 기흥구 2015 407238 202288 204950
## 114 31193 수지구 2015 332197 162725 169472
## 115 31200 파주시 2015 415345 212388 202957
## 116 31210 이천시 2015 209003 106437 102566
## 117 31220 안성시 2015 194765 100873 93892
## 118 31230 김포시 2015 352683 181687 170996
## 119 31240 화성시 2015 608725 321376 287349
## 120 31250 광주시 2015 310278 160954 149324
## 121 31260 양주시 2015 205988 106033 99955
## 122 31270 포천시 2015 163388 88047 75341
## 123 31280 여주시 2015 109937 55713 54224
## 124 31350 연천군 2015 43846 22880 20966
## 125 31370 가평군 2015 58909 29933 28976
## 126 31380 양평군 2015 101930 51301 50629
## 127 32010 춘천시 2015 281596 138548 143048
## 128 32020 원주시 2015 330854 165595 165259
## 129 32030 강릉시 2015 215677 108604 107073
## 130 32040 동해시 2015 90255 45712 44543
## 131 32050 태백시 2015 46715 23689 23026
## 132 32060 속초시 2015 79846 39482 40364
## 133 32070 삼척시 2015 69509 35953 33556
## 134 32310 홍천군 2015 67190 34285 32905
## 135 32320 횡성군 2015 42669 21519 21150
## 136 32330 영월군 2015 36967 18902 18065
## 137 32340 평창군 2015 40427 20711 19716
## 138 32350 정선군 2015 36701 18976 17725
## 139 32360 철원군 2015 46025 24692 21333
## 140 32370 화천군 2015 25343 14176 11167
## 141 32380 양구군 2015 22497 12029 10468
## 142 32390 인제군 2015 31219 16938 14281
## 143 32400 고성군 2015 28689 15348 13341
## 144 32410 양양군 2015 25861 13082 12779
## 145 33020 충주시 2015 211005 107171 103834
## 146 33030 제천시 2015 136350 68515 67835
## 147 33040 청주시 2015 833276 417411 415865
## 148 33041 상당구 2015 171877 85662 86215
## 149 33042 서원구 2015 222721 110177 112544
## 150 33043 흥덕구 2015 255542 128512 127030
## 151 33044 청원구 2015 183136 93060 90076
## 152 33320 보은군 2015 32522 16129 16393
## 153 33330 옥천군 2015 50704 25511 25193
## 154 33340 영동군 2015 49542 24759 24783
## 155 33350 진천군 2015 71152 38173 32979
## 156 33360 괴산군 2015 37830 19365 18465
## 157 33370 음성군 2015 102023 55512 46511
## 158 33380 단양군 2015 28770 14456 14314
## 159 33390 증평군 2015 36173 18375 17798
## 160 34010 천안시 2015 629062 322793 306269
## 161 34011 동남구 2015 277781 142078 135703
## 162 34012 서북구 2015 351281 180715 170566
## 163 34020 공주시 2015 113542 56610 56932
## 164 34030 보령시 2015 101852 52245 49607
## 165 34040 아산시 2015 319929 166820 153109
## 166 34050 서산시 2015 169221 87287 81934
## 167 34060 논산시 2015 124246 62191 62055
## 168 34070 계룡시 2015 39243 19447 19796
## 169 34080 당진시 2015 163762 86801 76961
## 170 34310 금산군 2015 55923 28086 27837
## 171 34330 부여군 2015 69017 34262 34755
## 172 34340 서천군 2015 54768 27161 27607
## 173 34350 청양군 2015 31653 15841 15812
## 174 34360 홍성군 2015 94114 47283 46831
## 175 34370 예산군 2015 81747 41150 40597
## 176 34380 태안군 2015 59723 30333 29390
## 177 35010 전주시 2015 658172 325652 332520
## 178 35011 완산구 2015 367243 180484 186759
## 179 35012 덕진구 2015 290929 145168 145761
## 180 35020 군산시 2015 275155 141399 133756
## 181 35030 익산시 2015 301723 151707 150016
## 182 35040 정읍시 2015 110627 54898 55729
## 183 35050 남원시 2015 80499 39380 41119
## 184 35060 김제시 2015 84269 41856 42413
## 185 35310 완주군 2015 95357 48888 46469
## 186 35320 진안군 2015 22886 11158 11728
## 187 35330 무주군 2015 23408 11503 11905
## 188 35340 장수군 2015 21620 10634 10986
## 189 35350 임실군 2015 25935 12791 13144
## 190 35360 순창군 2015 26707 12779 13928
## 191 35370 고창군 2015 55665 27464 28201
## 192 35380 부안군 2015 52091 25620 26471
## 193 36010 목포시 2015 239524 120500 119024
## 194 36020 여수시 2015 273761 139565 134196
## 195 36030 순천시 2015 265390 132329 133061
## 196 36040 나주시 2015 92582 46188 46394
## 197 36060 광양시 2015 144414 74195 70219
## 198 36310 담양군 2015 43634 21499 22135
## 199 36320 곡성군 2015 28617 13764 14853
## 200 36330 구례군 2015 24595 11893 12702
## 201 36350 고흥군 2015 62477 30075 32402
## 202 36360 보성군 2015 40688 19495 21193
## 203 36370 화순군 2015 61380 29583 31797
## 204 36380 장흥군 2015 36890 17843 19047
## 205 36390 강진군 2015 35126 16754 18372
## 206 36400 해남군 2015 69237 33940 35297
## 207 36410 영암군 2015 61535 33155 28380
## 208 36420 무안군 2015 80521 40472 40049
## 209 36430 함평군 2015 31367 15387 15980
## 210 36440 영광군 2015 51007 25292 25715
## 211 36450 장성군 2015 42058 20966 21092
## 212 36460 완도군 2015 48468 24624 23844
## 213 36470 진도군 2015 29538 14648 14890
## 214 36480 신안군 2015 36235 18800 17435
## 215 37010 포항시 2015 511804 259502 252302
## 216 37011 남구 2015 243870 126467 117403
## 217 37012 북구 2015 267934 133035 134899
## 218 37020 경주시 2015 262310 133092 129218
## 219 37030 김천시 2015 137540 68528 69012
## 220 37040 안동시 2015 168581 83170 85411
## 221 37050 구미시 2015 421075 216825 204250
## 222 37060 영주시 2015 109266 54737 54529
## 223 37070 영천시 2015 97669 49573 48096
## 224 37080 상주시 2015 98760 48392 50368
## 225 37090 문경시 2015 71863 35180 36683
## 226 37100 경산시 2015 278500 140493 138007
## 227 37310 군위군 2015 22012 11000 11012
## 228 37320 의성군 2015 51021 24577 26444
## 229 37330 청송군 2015 24732 12185 12547
## 230 37340 영양군 2015 16781 8069 8712
## 231 37350 영덕군 2015 36539 17416 19123
## 232 37360 청도군 2015 41596 19840 21756
## 233 37370 고령군 2015 34117 17588 16529
## 234 37380 성주군 2015 41179 20981 20198
## 235 37390 칠곡군 2015 122462 63739 58723
## 236 37400 예천군 2015 42702 20782 21920
## 237 37410 봉화군 2015 31628 15563 16065
## 238 37420 울진군 2015 49387 25085 24302
## 239 37430 울릉군 2015 8770 4720 4050
## 240 38030 진주시 2015 349788 174628 175160
## 241 38050 통영시 2015 137208 70701 66507
## 242 38060 사천시 2015 113335 57815 55520
## 243 38070 김해시 2015 534124 274843 259281
## 244 38080 밀양시 2015 103069 50357 52712
## 245 38090 거제시 2015 261371 142297 119074
## 246 38100 양산시 2015 297532 150294 147238
## 247 38110 창원시 2015 1059241 541834 517407
## 248 38111 의창구 2015 255200 130777 124423
## 249 38112 성산구 2015 234908 122454 112454
## 250 38113 마산합포구 2015 178945 89461 89484
## 251 38114 마산회원구 2015 208766 105597 103169
## 252 38115 진해구 2015 181422 93545 87877
## 253 38310 의령군 2015 27069 13021 14048
## 254 38320 함안군 2015 69355 36055 33300
## 255 38330 창녕군 2015 61635 30805 30830
## 256 38340 고성군 2015 53882 27420 26462
## 257 38350 남해군 2015 44248 21277 22971
## 258 38360 하동군 2015 44918 21951 22967
## 259 38370 산청군 2015 34034 16359 17675
## 260 38380 함양군 2015 38454 18378 20076
## 261 38390 거창군 2015 60464 29567 30897
## 262 38400 합천군 2015 44797 21135 23662
## 263 39010 제주시 2015 451758 226801 224957
## 264 39020 서귀포시 2015 153861 77988 75873
data_emd <- census_data %>% #> 7자리 코드를 읍면동으로 걸러냄
filter({
census_data %>%
.[, 1] %>%
nchar() %>%
`==`(7)
})
# filter(nchar(C행정구역별_읍면동) == 7)
data_emd %>%
.[, 1:6] %>%
head()
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 1101053 사직동 2015 9379 4325 5054
## 2 1101054 삼청동 2015 2808 1340 1468
## 3 1101055 부암동 2015 11012 5327 5685
## 4 1101056 평창동 2015 18594 8794 9800
## 5 1101057 무악동 2015 8106 3829 4277
## 6 1101058 교남동 2015 4620 2234 2386
# head(data_emd[, 1:6])
data_emd %>%
nrow()
## [1] 3492
data_chuncheon <- data_emd %>%
filter({
data_emd %>%
.[, 1] %>%
substr(1, 5) %>%
`==`(code_chuncheon)
})
data_chuncheon %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 3201011 신북읍 2015 7471 3740 3731
## 2 3201031 동면 2015 17855 8732 9123
## 3 3201032 동산면 2015 2039 1251 788
## 4 3201033 신동면 2015 2350 1162 1188
## 5 3201034 동내면 2015 14887 7434 7453
## 6 3201035 남면 2015 1089 569 520
## 7 3201036 남산면 2015 3585 1813 1772
## 8 3201037 서면 2015 4032 1927 2105
## 9 3201038 사북면 2015 2396 1194 1202
## 10 3201039 북산면 2015 821 439 382
## 11 3201052 교동 2015 4125 2053 2072
## 12 3201053 조운동 2015 3161 1555 1606
## 13 3201054 약사명동 2015 3834 1802 2032
## 14 3201057 근화동 2015 7193 3617 3576
## 15 3201058 소양동 2015 11066 5436 5630
## 16 3201060 후평1동 2015 15549 7321 8228
## 17 3201061 후평2동 2015 13341 6381 6960
## 18 3201062 후평3동 2015 19417 9341 10076
## 19 3201063 효자1동 2015 4988 2525 2463
## 20 3201064 효자2동 2015 17495 9044 8451
## 21 3201065 효자3동 2015 5275 2697 2578
## 22 3201066 석사동 2015 39841 19255 20586
## 23 3201067 퇴계동 2015 43722 21310 22412
## 24 3201068 강남동 2015 15021 7454 7567
## 25 3201071 신사우동 2015 21043 10496 10547
data_inje <- data_emd %>%
filter({
data_emd %>%
.[, 1] %>%
substr(1, 5) %>%
`==`(code_inje)
})
data_inje %>%
.[, 1:6]
## C행정구역별_읍면동 행정구역별_읍면동 시점 총인구_명 남자_명 여자_명
## 1 3239011 인제읍 2015 9166 4920 4246
## 2 3239031 남면 2015 4229 2293 1936
## 3 3239032 북면 2015 8188 4382 3806
## 4 3239033 기린면 2015 4896 2620 2276
## 5 3239034 서화면 2015 3236 1926 1310
## 6 3239035 상남면 2015 1504 797 707
map_df
와 data_sido
의 코드 불일치 문제 해결gis developer 에서 다운로드 받은 shape 파일의 지역 코드가 다른 점을 해결하는 코드. map_df
의 code
항목으로 남아 있고, shape 파일의 code
와 data
파일의 code
를 일치시키지 않으면 code
가 맞지 않는 곳들은 지도에 나타나지 않게 되므로 반드시 맞춰 주어야 함. = 통계청 shape 파일을 사용하면서부터는 필요없게 됨.
map1_df <- readRDS("./map_df.RDS")
str(map1_df)
## 'data.frame': 11660 obs. of 13 variables:
## $ long : num 127 127 127 127 127 ...
## $ lat : num 37.6 37.6 37.7 37.7 37.7 ...
## $ order : int 1 2 3 4 5 6 7 8 9 10 ...
## $ hole : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ piece : Factor w/ 117 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ group : Factor w/ 215 levels "0.1","1.1","2.1",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ id : chr "0" "0" "0" "0" ...
## $ code : chr "11" "11" "11" "11" ...
## $ name_eng : chr "Seoul" "Seoul" "Seoul" "Seoul" ...
## $ name_kor : chr "서울특별시" "서울특별시" "서울특별시" "서울특별시" ...
## $ name_kor_2: chr "서울" "서울" "서울" "서울" ...
## $ name_kor_f: Factor w/ 17 levels "서울","부산",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ region : chr "11" "11" "11" "11" ...
table(map1_df$code)
##
## 11 26 27 28 29 30 31 36 41 42 43 44 45 46 47 48 50
## 113 138 135 434 80 615 142 92 642 1605 2057 692 501 2436 757 1049 172
str(data_sido$code)
## chr [1:17] "11" "21" "22" "23" "24" "25" "26" "29" "31" "32" "33" "34" "35" "36" "37" "38" "39"
table(data_sido$code)
##
## 11 21 22 23 24 25 26 29 31 32 33 34 35 36 37 38 39
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
# data_sido$code <- factor(data_sido$C행정구역별_읍면동)
# levels(data_sido$code)
# str(data_sido$code)
# map1_df$code_bak <- map1_df$code
# map1_df$code <- factor(map1_df$code, labels = levels(data_sido$code))
map1_df$region <- map1_df$code
# str(map1_df$code)
table(map1_df$code)
##
## 11 26 27 28 29 30 31 36 41 42 43 44 45 46 47 48 50
## 113 138 135 434 80 615 142 92 642 1605 2057 692 501 2436 757 1049 172
str(map1_df)
## 'data.frame': 11660 obs. of 13 variables:
## $ long : num 127 127 127 127 127 ...
## $ lat : num 37.6 37.6 37.7 37.7 37.7 ...
## $ order : int 1 2 3 4 5 6 7 8 9 10 ...
## $ hole : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ piece : Factor w/ 117 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ group : Factor w/ 215 levels "0.1","1.1","2.1",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ id : chr "0" "0" "0" "0" ...
## $ code : chr "11" "11" "11" "11" ...
## $ name_eng : chr "Seoul" "Seoul" "Seoul" "Seoul" ...
## $ name_kor : chr "서울특별시" "서울특별시" "서울특별시" "서울특별시" ...
## $ name_kor_2: chr "서울" "서울" "서울" "서울" ...
## $ name_kor_f: Factor w/ 17 levels "서울","부산",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ region : chr "11" "11" "11" "11" ...
ggplot
첫번 째 방법library(viridis)
## Loading required package: viridisLite
library(RColorBrewer)
load("./korea_map.RData")
fill.pal <- colorRampPalette(brewer.pal(9, "YlGnBu"))(17)
ggplot(data = data_sido,
mapping = aes(map_id = code,
fill = 총인구_명)) +
geom_map(map = map1_df) +
expand_limits(x = map1_df$long,
y = map1_df$lat) +
theme(plot.title = element_text(family = "HCR Dotum LVT"),
legend.title = element_text(family = "HCR Dotum LVT")) +
ggtitle("시도 인구 단계구분도") +
# scale_fill_gradientn(name = "인구(명)", colours = c("white", "orange", "red"))
scale_fill_viridis(name = "인구(명)", begin = 0.5, option = "C", direction = -1) +
# scale_fill_distiller(name = "인구(명)", palette = "OrRd", trans = "reverse") +
# coord_quickmap()
coord_map()
ggplot
두번째 방법library(dplyr)
shp1_84@data <- data.frame(shp1_84@data, data_sido[match(shp1_84$region, data_sido$code), ])
## Loading required package: sp
map1_data_df <- left_join(shp1_84_df, shp1_84@data, by = c("id" = "id"))
ggplot(data = map1_data_df,
mapping = aes(x = long,
y = lat,
group = group,
fill = 총인구_명)) +
geom_polygon(colour = "black", size = 0.1) +
theme(plot.title = element_text(family = "HCR Dotum LVT"),
legend.title = element_text(family = "HCR Dotum LVT")) +
ggtitle("시도 인구 단계구분도") +
# scale_fill_gradientn(name = "인구(명)", colours = c("white", "orange", "red")) +
scale_fill_distiller(name = "인구(명)", palette = "OrRd", direction = 1) +
coord_map()
saveRDS(census_data, "./census_data.RDS")
saveRDS(data_sido, "./data_sido.RDS")
saveRDS(data_sgg, "./data_sgg.RDS")
saveRDS(data_emd, "./data_emd.RDS")