데이터셋: 분당을
- 제20대 총선(2016년)
- 범민주당 = 민주당(김병욱)
- 범미통당 = 미통당 + 무소속(임태희)
- 제21대 총선(2020년)
- 범민주당 = 민주당 + 정의당 + 무소속(이나영)
- 범미통당 = 미통당(김민수) + 우리공화당
library(tidyverse)
library(readxl)
## 21대 분당구을
동별_2020 <- read_excel("data/[제21대_국회의원선거]_개표단위별_개표결과.xlsx", sheet = "Sheet1", skip = 4) %>%
set_names(c("읍면동명", "투표구명", "선거인수", "투표수", "민주당", "미통당", "정의당", "...8", "우공당", "민중당", "배금당", "무소속", "계", "...14", "...15")) %>%
select("읍면동명", "투표구명", "선거인수", "투표수", "민주당", "미통당", "정의당", "우공당", "민중당", "배금당", "무소속")
동별_2020_dat <- 동별_2020 %>%
filter(투표구명 == "소계") %>%
select(-투표구명) %>%
mutate(선거인수 = parse_number(선거인수),
투표수 = parse_number(투표수),
민주당 = parse_number(민주당),
미통당 = parse_number(미통당),
정의당 = parse_number(정의당),
우공당 = parse_number(우공당),
민중당 = parse_number(민중당),
무소속 = parse_number(무소속),
배금당 = parse_number(배금당))
동별_2020_기타 <- 동별_2020 %>%
filter(is.na(투표구명),
!str_detect(읍면동명, "합계|잘못")) %>%
mutate(선거인수 = parse_number(선거인수),
투표수 = parse_number(투표수),
민주당 = parse_number(민주당),
미통당 = parse_number(미통당),
정의당 = parse_number(정의당),
우공당 = parse_number(우공당),
민중당 = parse_number(민중당),
무소속 = parse_number(무소속),
배금당 = parse_number(배금당)) %>%
select(-투표구명) %>%
summarise(선거인수 = sum(선거인수),
투표수 = sum(투표수),
민주당 = sum(민주당),
미통당 = sum(미통당),
정의당 = sum(정의당),
우공당 = sum(우공당),
민중당 = sum(민중당),
배금당 = sum(배금당),
무소속 = sum(무소속)) %>%
mutate(읍면동명 = "관외 등")
동별_2020_df <- bind_rows(동별_2020_dat, 동별_2020_기타) %>%
mutate(선거 = "제21대")
## 20대 분당구을
동별_2016 <- read_excel("data/[제20대_국회의원선거]_개표단위별_개표결과.xlsx", sheet = "Sheet1", skip = 86) %>%
set_names(c("읍면동명", "투표구명", "선거인수", "투표수", "미통당", "민주당", "..7", "국민의당", "민중당", "무소속", "계", "...14", "...15")) %>%
select("읍면동명", "투표구명", "선거인수", "투표수", "민주당", "미통당", "국민의당", "무소속")
동명 <- 동별_2016 %>%
select(투표구명) %>%
filter(str_detect(투표구명, "제1투")) %>%
mutate(읍면동명 = str_remove(투표구명, "제1투")) %>%
select(읍면동명)
동별_2016_dat <- 동별_2016 %>%
filter(투표구명 == "소계") %>%
select(-읍면동명, -투표구명) %>%
mutate(선거인수 = parse_number(선거인수),
투표수 = parse_number(투표수),
민주당 = parse_number(민주당),
미통당 = parse_number(미통당),
국민의당 = parse_number(국민의당),
무소속 = parse_number(무소속)) %>%
bind_cols(동명)
동별_2016_기타 <- 동별_2016 %>%
filter(str_detect(투표구명, "거소|관외|국외")) %>%
mutate(선거인수 = parse_number(선거인수),
투표수 = parse_number(투표수),
민주당 = parse_number(민주당),
미통당 = parse_number(미통당),
국민의당 = parse_number(국민의당),
무소속 = parse_number(무소속)) %>%
select(-읍면동명) %>%
summarise(선거인수 = sum(선거인수),
투표수 = sum(투표수),
민주당 = sum(민주당),
미통당 = sum(미통당),
국민의당 = sum(국민의당),
무소속 = sum(무소속)) %>%
mutate(읍면동명 = "관외 등")
동별_2016_df <- bind_rows(동별_2016_dat, 동별_2016_기타 ) %>%
mutate(선거 = "제20대") %>%
select(선거, 읍면동명, everything())
## 21대 20대 분당구을 비교
동별_2016_raw <- 동별_2016_df %>%
mutate(범미통당 = 무소속 + 미통당) %>%
select(선거, 읍면동명, 선거인수, 투표수, 범민주당=민주당, 범미통당)
동별_2020_raw <- 동별_2020_df %>%
mutate(범민주당 = 민주당 + 정의당 + 무소속,
범미통당 = 미통당 + 우공당) %>%
select(선거, 읍면동명, 선거인수, 투표수, 범민주당, 범미통당)
분당을 <- bind_rows(동별_2016_raw, 동별_2020_raw) %>%
mutate(범민주_득표율 = 범민주당 / 투표수,
범미통_득표율 = 범미통당 / 투표수)