민주당 전략공천 성과

민주당 전략공천 성과를 분석해보자.

저자
소속

1 공천과 선거결과 데이터셋

민주당 공천 유형과 선거결과를 결합시킨 데이터를 제작한다.

코드
library(tidyverse)
library(readxl)
library(gtExtras)

minju_raw <- read_excel("data/precinct_nomination.xlsx")

minju_raw <- minju_raw |> 
  rename(선거구 = SGG_2_x)
  
chongsun_raw <- krvote::chongun_winner |> 
  filter(cs_code == "20200415") |> 
  ungroup() |> 
  mutate(선거구 = glue::glue("{sido_name} {선거구명}")) |> 
  mutate(당선자 = str_extract(`성명(한자)`, '.*?(?=\\()'))

minju_res <- minju_raw |> 
  left_join(chongsun_raw, by = "선거구")

minju_tbl <- minju_res |> 
  select(sido_name, 선거구명, 후보자, 당선자, 득표수, 득표율, 공천_유형) |> 
  mutate(민주당선 = ifelse(후보자 == 당선자, "당선", "낙선")) 

minju_tbl |> 
  gt::gt()
sido_name 선거구명 후보자 당선자 득표수 득표율 공천_유형 민주당선
대구광역시 동구을 이승천 강대식 66461 60.33 단수 공천 낙선
대구광역시 중구남구 이재용 곽상도 86470 67.49 단수 공천 낙선
경기도 고양시갑 문명순 심상정 56516 39.38 단수 공천 낙선
경기도 안양시동안구을 이재정 이재정 49736 54.15 경선 공천 당선
경상남도 김해시을 김정호 김정호 71634 49.67 경선 공천 당선
경기도 수원시병 김영진 김영진 50369 53.07 단수 공천 당선
인천광역시 계양구을 송영길 송영길 51821 58.67 단수 공천 당선
서울특별시 동대문구갑 안규백 안규백 51551 52.72 단수 공천 당선
전라남도 순천시광양시곡성군구례군을 서동용 서동용 92442 64.75 경선 공천 당선
충청남도 천안시병 이정문 이정문 43118 48.01 경선 공천 당선
부산광역시 해운대구갑 유영민 하태경 78971 59.47 단수 공천 낙선
울산광역시 북구 이상헌 이상헌 54215 46.34 경선 공천 당선
대전광역시 유성구갑 조승래 조승래 55463 56.52 단수 공천 당선
대전광역시 서구갑 박병석 박병석 74978 55.58 단수 공천 당선
경기도 김포시갑 김주영 김주영 58613 52.88 전략 공천 당선
인천광역시 부평구을 홍영표 홍영표 74264 56.13 단수 공천 당선
부산광역시 북구강서구을 최지은 김도읍 76054 52.03 전략 공천 낙선
광주광역시 북구갑 조오섭 조오섭 59011 57.79 경선 공천 당선
부산광역시 남구갑 강준석 박수영 43805 53.57 전략 공천 낙선
경기도 화성시병 권칠승 권칠승 88793 64.45 단수 공천 당선
서울특별시 영등포구을 김민석 김민석 47075 50.26 경선 공천 당선
전라남도 여수시갑 주철현 주철현 48410 64.44 경선 공천 당선
경상북도 경주시 정다은 김석기 77102 52.67 전략 공천 낙선
강원도 원주시갑 이광재 이광재 45224 48.56 경선 공천 당선
강원도 춘천시철원군화천군양구군갑 허영 허영 66932 51.32 경선 공천 당선
서울특별시 서대문구을 김영호 김영호 58328 61.33 단수 공천 당선
경기도 파주시갑 윤후덕 윤후덕 85058 60.93 경선 공천 당선
서울특별시 강남구갑 김성곤 태구민 60324 58.4 단수 공천 낙선
전라북도 완주군진안군무주군장수군 안호영 안호영 56998 56.89 경선 공천 당선
경기도 구리시 윤호중 윤호중 64668 58.64 단수 공천 당선
서울특별시 중랑구을 박홍근 박홍근 74131 59.28 단수 공천 당선
울산광역시 남구을 박성진 김기현 48933 58.48 경선 공천 낙선
서울특별시 구로구갑 이인영 이인영 75865 53.92 단수 공천 당선
전라북도 전주시갑 김윤덕 김윤덕 67849 73.57 경선 공천 당선
경기도 안성시 이규민 이규민 49721 51.44 경선 공천 당선
경기도 고양시을 한준호 한준호 80739 52.47 전략 공천 당선
서울특별시 노원구갑 고용진 고용진 53911 56.78 경선 공천 당선
서울특별시 동대문구을 장경태 장경태 55230 54.54 청년 경선 공천 당선
대구광역시 북구갑 이헌태 양금희 52916 49.82 단수 공천 낙선
경기도 광명시갑 임오경 임오경 43019 47.66 전략 공천 당선
전라북도 남원시임실군순창군 이강래 이용호 43118 49.49 경선 공천 낙선
부산광역시 해운대구을 윤준호 김미애 53900 52.87 단수 공천 낙선
제주특별자치도 제주시을 오영훈 오영훈 67206 55.35 경선 공천 당선
경기도 성남시분당구갑 김병관 김은혜 78134 50.07 경선 공천 낙선
대전광역시 유성구을 이상민 이상민 53785 55.85 경선 공천 당선
대전광역시 서구을 박범계 박범계 70708 57.5 단수 공천 당선
서울특별시 도봉구갑 인재근 인재근 50653 54.02 단수 공천 당선
경기도 김포시을 박상혁 박상혁 63193 53.83 경선 공천 당선
경기도 수원시갑 김승원 김승원 76875 59.17 경선 공천 당선
충청북도 제천시단양군 이후삼 엄태영 51174 54.1 경선 공천 낙선
경상남도 창원시마산회원구 하귀남 윤한홍 64581 56.42 단수 공천 낙선
부산광역시 남구을 박재호 박재호 41005 50.5 단수 공천 당선
경상남도 거제시 문상모 서일준 65746 50.89 경선 공천 낙선
전라남도 여수시을 김회재 김회재 55273 71.58 경선 공천 당선
대전광역시 동구 장철민 장철민 61345 51.01 경선 공천 당선
강원도 원주시을 송기헌 송기헌 48772 53.88 단수 공천 당선
경기도 안양시동안구갑 민병덕 민병덕 56345 55.33 경선 공천 당선
전라남도 고흥군보성군장흥군강진군 김승남 김승남 72772 62.81 경선 공천 당선
인천광역시 연수구갑 박찬대 박찬대 45479 56.87 단수 공천 당선
부산광역시 사하구갑 최인호 최인호 39875 50 단수 공천 당선
경기도 파주시을 박정 박정 48569 54.33 단수 공천 당선
서울특별시 강남구을 전현희 박진 51762 50.94 단수 공천 낙선
전라남도 나주시화순군 신정훈 신정훈 75586 78.8 경선 공천 당선
충청남도 천안시을 박완주 박완주 78223 58.83 단수 공천 당선
경상남도 산청군함양군거창군합천군 서필상 김태호 49123 42.59 단수 공천 낙선
세종특별자치시 세종특별자치시갑 홍성국 홍성국 55947 56.45 전략 공천 당선
경기도 남양주시병 김용민 김용민 71776 50.08 전략 공천 당선
서울특별시 구로구을 윤건영 윤건영 56065 57.04 전략 공천 당선
전라남도 영암군무안군신안군 서삼석 서삼석 74661 76.96 경선 공천 당선
경기도 용인시병 정춘숙 정춘숙 84492 51.56 경선 공천 당선
서울특별시 노원구을 우원식 우원식 71708 62.67 단수 공천 당선
경상북도 군위군의성군청송군영덕군 강부송 김희국 71532 79.3 단수 공천 낙선
경기도 군포시 이학영 이학영 91256 57.41 경선 공천 당선
서울특별시 관악구갑 유기홍 유기홍 83479 55.92 경선 공천 당선
대구광역시 북구을 홍의락 김승수 84378 61.68 단수 공천 낙선
부산광역시 중구영도구 김비오 황보승희 47436 51.86 경선 공천 낙선
경기도 의왕시과천시 이소영 이소영 58938 43.38 전략 공천 당선
경기도 성남시분당구을 김병욱 김병욱 68387 47.94 단수 공천 당선
경기도 이천시 김용진 송석준 56544 51.99 경선 공천 낙선
경기도 포천시가평군 이철휘 최춘식 54771 50.25 경선 공천 낙선
서울특별시 도봉구을 오기형 오기형 51756 53.01 경선 공천 당선
경기도 동두천시연천군 서동욱 김성원 38777 53.61 경선 공천 낙선
서울특별시 동작구갑 김병기 김병기 70290 55.29 경선 공천 당선
서울특별시 중구성동구갑 홍익표 홍익표 70387 54.25 단수 공천 당선
대구광역시 서구 윤선진 김상훈 66574 67.43 단수 공천 낙선
충청남도 논산시계룡시금산군 김종민 김종민 58319 51.01 경선 공천 당선
서울특별시 마포구갑 노웅래 노웅래 53160 56 경선 공천 당선
경상남도 밀양시의령군함안군창녕군 조성환 조해진 102210 68 단수 공천 낙선
서울특별시 성북구갑 김영배 김영배 82954 60.9 경선 공천 당선
경상남도 진주시갑 정영훈 박대출 60112 54.75 경선 공천 낙선
인천광역시 연수구을 정일영 정일영 52806 41.78 경선 공천 당선
부산광역시 사하구을 이상호 조경태 59042 58.79 경선 공천 낙선
서울특별시 중구성동구을 박성준 박성준 64071 51.96 전략 공천 당선
강원도 춘천시철원군화천군양구군을 정만호 한기호 43083 52.07 경선 공천 낙선
서울특별시 강남구병 김한규 유경준 70917 65.38 전략 공천 낙선
대전광역시 대덕구 박영순 박영순 47652 49.39 경선 공천 당선
전라북도 전주시병 김성주 김성주 104039 66.65 단수 공천 당선
세종특별자치시 세종특별자치시을 강준현 강준현 46002 57.96 경선 공천 당선
경기도 수원시정 박광온 박광온 79557 57.42 단수 공천 당선
강원도 홍천군횡성군영월군평창군 원경환 유상범 55975 48.59 단수 공천 낙선
인천광역시 서구갑 김교흥 김교흥 76072 53.23 단수 공천 당선
부산광역시 수영구 강윤경 전봉민 57959 55.93 단수 공천 낙선
충청남도 서산시태안군 조한기 성일종 66917 52.69 단수 공천 낙선
서울특별시 노원구병 김성환 김성환 55556 53.15 단수 공천 당선
부산광역시 기장군 최택용 정동만 42634 49.63 경선 공천 낙선
인천광역시 중구강화군옹진군 조택상 배준영 62484 50.28 단수 공천 낙선
경기도 부천시정 서영석 서영석 49552 56.74 경선 공천 당선
서울특별시 관악구을 정태호 정태호 72531 53.9 경선 공천 당선
전라남도 해남군완도군진도군 윤재갑 윤재갑 59613 67.5 경선 공천 당선
경기도 광주시갑 소병훈 소병훈 53221 56.15 경선 공천 당선
강원도 강릉시 김경수 권성동 49618 40.84 단수 공천 낙선
충청남도 보령시서천군 나소열 김태흠 46405 50.86 단수 공천 낙선
부산광역시 연제구 김해영 이주환 64640 50.95 단수 공천 낙선
경상북도 경산시 전상헌 윤두현 88684 63.75 경선 공천 낙선
서울특별시 강동구갑 진선미 진선미 80361 51.5 단수 공천 당선
전라북도 전주시을 이상직 이상직 67568 62.54 경선 공천 당선
부산광역시 북구강서구갑 전재수 전재수 48733 50.58 단수 공천 당선
충청남도 공주시부여군청양군 박수현 정진석 57487 48.65 단수 공천 낙선
서울특별시 동작구을 이수진 이수진 61407 52.16 전략 공천 당선
울산광역시 동구 김태선 권명호 33845 38.36 경선 공천 낙선
충청남도 천안시갑 문진석 문진석 45999 49.34 전략 공천 당선
부산광역시 서구동구 이재강 안병길 63855 56.04 경선 공천 낙선
경상북도 구미시을 김현권 김영식 54457 56.43 단수 공천 낙선
경기도 평택시갑 홍기원 홍기원 62564 50.22 경선 공천 당선
서울특별시 마포구을 정청래 정청래 69336 53.75 단수 공천 당선
경기도 고양시병 홍정민 홍정민 80068 54.26 전략 공천 당선
경상북도 안동시예천군 이삼걸 김형동 58183 47.1 단수 공천 낙선
서울특별시 송파구갑 조재희 김웅 58318 51.2 경선 공천 낙선
서울특별시 성북구을 기동민 기동민 70740 59.36 단수 공천 당선
대구광역시 달서구갑 권택흥 홍석준 54700 57.61 단수 공천 낙선
경상남도 진주시을 한경호 강민국 50217 59.02 단수 공천 낙선
서울특별시 금천구 최기상 최기상 64735 49.63 전략 공천 당선
충청북도 청주시흥덕구 도종환 도종환 74900 55.8 단수 공천 당선
서울특별시 종로구 이낙연 이낙연 54902 58.38 전략 공천 당선
서울특별시 은평구갑 박주민 박주민 86351 64.29 단수 공천 당선
충청북도 증평군진천군음성군 임호선 임호선 54126 50.68 단수 공천 당선
인천광역시 서구을 신동근 신동근 83671 61.64 단수 공천 당선
경상북도 고령군성주군칠곡군 장세호 정희용 65236 62.71 단수 공천 낙선
대구광역시 수성구갑 김부겸 주호영 92018 59.81 단수 공천 낙선
경상남도 창원시의창구 김기운 박완수 88718 59.04 경선 공천 낙선
경기도 의정부시갑 오영환 오영환 54806 53.03 전략 공천 당선
경기도 부천시갑 김경협 김경협 48002 59.17 단수 공천 당선
충청북도 청주시청원구 변재일 변재일 51028 52.99 단수 공천 당선
충청북도 청주시상당구 정정순 정정순 45707 47.09 경선 공천 당선
경기도 광주시을 임종성 임종성 52468 56.88 단수 공천 당선
경기도 수원시을 백혜련 백혜련 84500 60.68 단수 공천 당선
인천광역시 남동구갑 맹성규 맹성규 72773 54.38 단수 공천 당선
서울특별시 강동구을 이해식 이해식 59175 54.54 경선 공천 당선
충청남도 당진시 어기구 어기구 38535 47.66 경선 공천 당선
광주광역시 서구갑 송갑석 송갑석 69285 82.18 단수 공천 당선
대전광역시 중구 황운하 황운하 66306 50.3 경선 공천 당선
경기도 용인시을 김민기 김민기 89697 60.08 단수 공천 당선
전라북도 익산시을 한병도 한병도 56982 72.59 경선 공천 당선
부산광역시 금정구 박무성 백종헌 77048 54.19 경선 공천 낙선
서울특별시 송파구을 최재성 배현진 72072 50.46 단수 공천 낙선
경기도 하남시 최종윤 최종윤 76572 50.77 경선 공천 당선
대구광역시 달서구을 허소 윤재옥 90762 65.36 경선 공천 낙선
부산광역시 동래구 박성현 김희곤 81722 51.85 단수 공천 낙선
광주광역시 광산구을 민형배 민형배 96808 84.05 경선 공천 당선
울산광역시 중구 임동호 박성민 69359 54.04 경선 공천 낙선
경상북도 김천시 배영애 송언석 59993 74.52 단수 공천 낙선
경상남도 양산시을 김두관 김두관 44218 48.94 전략 공천 당선
서울특별시 은평구을 강병원 강병원 78897 57.41 경선 공천 당선
경기도 안산시단원구갑 고영인 고영인 42009 55.74 경선 공천 당선
경상북도 영천시청도군 정우동 이만희 57580 64.63 단수 공천 낙선
서울특별시 서초구갑 이정근 윤희숙 72896 62.6 단수 공천 낙선
광주광역시 동구남구갑 윤영덕 윤영덕 71626 77.23 경선 공천 당선
대구광역시 수성구을 이상식 홍준표 40015 38.51 단수 공천 낙선
서울특별시 광진구갑 전혜숙 전혜숙 56608 53.68 단수 공천 당선
경상남도 창원시성산구 이흥석 강기윤 61782 47.3 단수 공천 낙선
서울특별시 강서구갑 강선우 강선우 63397 55.89 경선 공천 당선
경상북도 영주시영양군봉화군울진군 황재선 박형수 68026 55.83 경선 공천 낙선
경기도 의정부시을 김민철 김민철 71573 55.98 경선 공천 당선
전라남도 순천시광양시곡성군구례군갑 소병철 소병철 78480 58.56 전략 공천 당선
경상북도 구미시갑 김철호 구자근 73339 65.57 경선 공천 낙선
경기도 안산시상록구갑 전해철 전해철 59021 58.55 단수 공천 당선
경기도 수원시무 김진표 김진표 82002 55.21 단수 공천 당선
경상남도 통영시고성군 양문석 정점식 60314 58.34 단수 공천 낙선
인천광역시 남동구을 윤관석 윤관석 78795 54.57 단수 공천 당선
경기도 부천시병 김상희 김상희 77577 60.55 단수 공천 당선
경기도 시흥시갑 문정복 문정복 68653 51.71 경선 공천 당선
경기도 성남시중원구 윤영찬 윤영찬 65947 54.62 경선 공천 당선
경기도 평택시을 김현정 유의동 59491 47.67 전략 공천 낙선
전라남도 목포시 김원이 김원이 62065 48.76 경선 공천 당선
경상북도 포항시북구 오중기 김정재 98905 64.78 단수 공천 낙선
경기도 용인시정 이탄희 이탄희 79794 53.46 전략 공천 당선
경상남도 창원시진해구 황기철 이달곤 52000 50.22 단수 공천 낙선
충청남도 아산시갑 복기왕 이명수 38167 49.82 단수 공천 낙선
인천광역시 동구미추홀구갑 허종식 허종식 63480 48.77 단수 공천 당선
서울특별시 송파구병 남인순 남인순 78789 52.49 단수 공천 당선
경기도 오산시 안민석 안민석 61926 56.71 단수 공천 당선
충청북도 청주시서원구 이장섭 이장섭 54118 49.86 경선 공천 당선
대구광역시 달서구병 김대진 김용판 46988 55.79 단수 공천 낙선
부산광역시 부산진구갑 김영춘 서병수 52037 48.51 단수 공천 낙선
전라북도 김제시부안군 이원택 이원택 51981 66.68 단수 공천 당선
부산광역시 사상구 배재정 장제원 66353 52.03 단수 공천 낙선
경기도 남양주시을 김한정 김한정 68660 59.08 경선 공천 당선
경기도 용인시갑 오세영 정찬민 69826 53.14 경선 공천 낙선
경기도 안산시단원구을 김남국 김남국 42150 51.32 전략 공천 당선
경기도 부천시을 설훈 설훈 80889 54.9 경선 공천 당선
서울특별시 서초구을 박경미 박성중 74445 53.66 경선 공천 낙선
울산광역시 울주군 김영문 서범수 66317 52.74 단수 공천 낙선
서울특별시 광진구을 고민정 고민정 54210 50.37 전략 공천 당선
강원도 동해시태백시삼척시정선군 김동완 이철규 71604 53.6 경선 공천 낙선
서울특별시 강서구을 진성준 진성준 66684 56.15 단수 공천 당선
서울특별시 양천구갑 황희 황희 78196 51.85 단수 공천 당선
전라북도 정읍시고창군 윤준병 윤준병 65082 69.78 단수 공천 당선
경기도 안산시상록구을 김철민 김철민 43599 57.77 단수 공천 당선
서울특별시 강북구갑 천준호 천준호 49490 57.75 경선 공천 당선
전라북도 익산시갑 김수흥 김수흥 59043 79.63 경선 공천 당선
경기도 화성시갑 송옥주 송옥주 58689 49.65 경선 공천 당선
서울특별시 용산구 강태웅 권영세 63891 47.8 전략 공천 낙선
광주광역시 광산구갑 이용빈 이용빈 67482 77.77 단수 공천 당선
경기도 고양시정 이용우 이용우 85943 53.42 전략 공천 당선
경기도 성남시수정구 김태년 김태년 76830 60.31 단수 공천 당선
제주특별자치도 서귀포시 위성곤 위성곤 53345 55.48 단수 공천 당선
대구광역시 달성군 박형룡 추경호 88846 67.33 경선 공천 낙선
광주광역시 북구을 이형석 이형석 108229 78.82 경선 공천 당선
충청남도 아산시을 강훈식 강훈식 45338 59.71 단수 공천 당선
인천광역시 동구미추홀구을 남영희 윤상현 46493 40.59 경선 공천 낙선
대구광역시 동구갑 서재헌 류성걸 56444 69.59 단수 공천 낙선
충청북도 보은군옥천군영동군괴산군 곽상언 박덕흠 58490 56.88 경선 공천 낙선
부산광역시 부산진구을 류영진 이헌승 55754 55.03 경선 공천 낙선
경상남도 김해시갑 민홍철 민홍철 70094 51.06 단수 공천 당선
광주광역시 서구을 양향자 양향자 61279 75.83 경선 공천 당선
인천광역시 계양구갑 유동수 유동수 44469 60.48 단수 공천 당선
광주광역시 동구남구을 이병훈 이병훈 61587 72.27 경선 공천 당선
경상남도 창원시마산합포구 박남현 최형두 64706 62.96 경선 공천 낙선
경상남도 사천시남해군하동군 황인성 하영제 71620 59.59 단수 공천 낙선
경기도 안양시만안구 강득구 강득구 75266 53.6 경선 공천 당선
경기도 시흥시을 조정식 조정식 69270 67.02 단수 공천 당선
제주특별자치도 제주시갑 송재호 송재호 61626 48.7 전략 공천 당선
서울특별시 강서구병 한정애 한정애 64515 59.92 단수 공천 당선
서울특별시 양천구을 이용선 이용선 66759 57.54 단수 공천 당선
인천광역시 부평구갑 이성만 이성만 77460 56.68 경선 공천 당선
경상북도 상주시문경시 정용운 임이자 65558 64.8 단수 공천 낙선
경기도 여주시양평군 최재관 김선교 70575 54.97 경선 공천 낙선
전라남도 담양군함평군영광군장성군 이개호 이개호 86315 81.95 단수 공천 당선
서울특별시 강북구을 박용진 박용진 57013 64.45 단수 공천 당선
강원도 속초시인제군고성군양양군 이광재 이양수 50188 52.56 경선 공천 낙선
경기도 광명시을 양기대 양기대 58130 64.09 경선 공천 당선
충청남도 홍성군예산군 김학민 홍문표 51997 53.95 경선 공천 낙선
경기도 화성시을 이원욱 이원욱 98612 64.53 단수 공천 당선
서울특별시 영등포구갑 김영주 김영주 72445 56.26 단수 공천 당선
전라북도 군산시 신영대 신영대 88857 59.24 단수 공천 당선
경상남도 양산시갑 이재영 윤영석 57301 56.99 전략 공천 낙선
경상북도 포항시남구울릉군 허대만 김병욱 74794 55.83 단수 공천 낙선
서울특별시 서대문구갑 우상호 우상호 47980 53.24 단수 공천 당선
경기도 남양주시갑 조응천 조응천 59779 57.95 경선 공천 당선
경기도 양주시 정성호 정성호 69905 62.64 단수 공천 당선
서울특별시 중랑구갑 서영교 서영교 55185 57.76 경선 공천 당선
충청북도 충주시 김경욱 이종배 59667 52.25 단수 공천 낙선
울산광역시 남구갑 심규명 이채익 55252 53.4 경선 공천 낙선

2 분석

2.1 선거결과

코드
library(gt)

minju_tbl |> 
  count(민주당선, name = "의원수") |> 
  rename(구분 = 민주당선) |> 
  arrange(desc(의원수)) |>   
  mutate(비율 = 의원수 / sum(의원수)) |>   
  janitor::adorn_totals("row", name = "합계") |> 
  gt() |> 
  gt_theme_538() |> 
  tab_options(
    heading.title.font.size = px(16L),
    column_labels.font.size = px(14L),
    table.font.size = px(12L)
  ) |> 
  cols_align(align = "center") |> 
  fmt_percent(columns = 비율, decimals = 1) |> 
  tab_header(
    title = md("민주당 후보 당선자수 및 비율"),
    subtitle = md("제21대 국회의원 선거")
  ) |> 
  tab_style(
    style = cell_fill(color = "gray85"),
    locations = cells_body(
      rows = 구분 == "당선"
    )
  )
민주당 후보 당선자수 및 비율
제21대 국회의원 선거
구분 의원수 비율
당선 163 64.4%
낙선 90 35.6%
합계 253 100.0%

2.2 공천 유형별

공천 유형별 민주당 후보 당선율을 표로 표현하면 다음과 같다.

코드
win_type_gt <- minju_tbl |> 
  count(민주당선, 공천_유형, name = "후보수") |> 
  pivot_wider(names_from = 민주당선, values_from = 후보수, values_fill = 0) |> 
  mutate(합계 = 낙선 + 당선) |>   
  janitor::adorn_totals("row", name = "합계") |> 
  mutate(당선율 = 당선/(당선+낙선)) |> 
  relocate(당선, .before = 낙선) |> 
  gt() |> 
  gt_theme_538() |> 
  tab_options(
    heading.title.font.size = px(16L),
    column_labels.font.size = px(14L),
    table.font.size = px(12L)
  ) |> 
  cols_align(align = "center") |> 
  fmt_percent(columns = 당선율, decimals = 1) |> 
  tab_header(
    title = md("공천 유형별 민주당 후보 선거 결과"),
    subtitle = md("제21대 국회의원 선거")
  ) |> 
  tab_style(
    style = cell_fill(color = "gray85"),
    locations = cells_body(
      rows = 공천_유형 == "단수 공천"
    )
  ) |> 
  tab_style(
    style = cell_text(size = "medidum", weight = "bold"),
    locations = cells_body(
      rows = 공천_유형 == "합계"
    )
  ) |> 
  tab_spanner(
    label = "선거 통계",
    columns = c(
      당선, 낙선, 합계
    )
  )

win_type_gt
공천 유형별 민주당 후보 선거 결과
제21대 국회의원 선거
공천_유형 선거 통계 당선율
당선 낙선 합계
경선 공천 71 35 106 67.0%
단수 공천 70 48 118 59.3%
전략 공천 21 7 28 75.0%
청년 경선 공천 1 0 1 100.0%
합계 163 90 253 64.4%
코드

win_type_gt |>
  gtsave(filename = "images/win_type_gt.png")

2.3 권역별, 공천 유형별

공천 유형별 / 권역별 민주당 후보 당선율을 표로 표현하면 다음과 같다.

코드

region_type_gt <- minju_tbl |> 
  mutate(권역 = case_when(sido_name %in% c("서울특별시", "경기도", "인천광역시") ~ "수도권",
                          sido_name %in% c("부산광역시", "대구광역시", "경상남도",
                                           "경상북도", "울산광역시") ~ "대구경북 부울경",
                          TRUE ~ "그외 권역")   
         ) |> 
  mutate(권역 = factor(권역, levels = c("수도권", "그외 권역", "대구경북 부울경"))) |>
  # filter(!str_detect(공천_유형, "청년")) |> 
  count(민주당선, 공천_유형, 권역, name = "후보수") |> 
  pivot_wider(names_from = 민주당선, values_from = 후보수, values_fill = 0) |> 
  mutate(합계 = 낙선 + 당선) |>   
  janitor::adorn_totals("row", name = "합계") |> 
  mutate(당선율 = 당선/(당선+낙선)) |> 
  relocate(당선, .before = 낙선) |> 
  filter(공천_유형 != "합계") |> 
  # filter(권역 == "수도권") |> 
  # filter(권역 == "대구경북+부울경") |>
  # filter(권역 == "그외 권역") |>   
  # arrange(권역) |> 
  gt(groupname_col = "권역", rowname_col = "공천_유형") |> 
  gt_theme_538() |> 
  tab_options(
    heading.title.font.size = px(16L),
    column_labels.font.size = px(14L),
    table.font.size = px(12L)
  ) |> 
  cols_align(align = "center") |> 
  fmt_percent(columns = 당선율, decimals = 1) |> 
  tab_header(
    title = md("권역별 공천유형 민주당 후보 선거 결과"),
    subtitle = md("제21대 국회의원 선거")
  ) |> 
  tab_style(
    style = cell_fill(color = "gray85"),
    locations = cells_body(
      rows = 공천_유형 == "단수 공천"
    )
  ) |> 
  tab_style(
    style = cell_text(size = "medidum", weight = "bold"),
    locations = cells_body(
      rows = 공천_유형 == "합계"
    )
  ) |> 
  tab_spanner(
    label = "선거 통계",
    columns = c(
      당선, 낙선, 합계
    )
  ) |> 
  ## 표 전체 합계 -------------------------------------
  grand_summary_rows(
    columns = c(당선, 낙선, 합계),
    fns =  list(label = "합계", id = "권역", fn = "sum"),
    fmt = ~ fmt_integer(.),
    side = "top"
  ) |>
  grand_summary_rows(
    columns = 당선율,
    fns =  list(label = "합계", id = "권역", fn = "mean"),
    fmt = ~ fmt_percent(., decimals = 0),
    side = "top"
  ) |>
  ## 표 부분 합계 -------------------------------------
  summary_rows(
    # groups = TRUE,
    columns = c(당선, 낙선, 합계),
    fns = list(권역합계 = ~ sum(.))
  ) |> 
  summary_rows(
    # groups = TRUE,
    columns = c(당선율),
    fns = list(권역합계 = ~ mean(.)),
    fmt = ~ fmt_percent(., decimals = 0)
  ) |> 
  ## 강조 -------------------------------------  
  tab_style(
    style = cell_text(color = "blue", size = px(15L), weight = "bold"),
    locations = cells_body(
      rows = 공천_유형 == "단수 공천" & 권역 == "수도권",
      columns  = 당선율
    )
  ) |> 
  tab_style(
    style = cell_text(color = "red", size = px(15L), weight = "bold"),
    locations = cells_body(
      rows = 공천_유형 == "단수 공천" & 권역 == "대구경북 부울경",
      columns  = 당선율
    )
  ) 
  
region_type_gt
권역별 공천유형 민주당 후보 선거 결과
제21대 국회의원 선거
선거 통계 당선율
당선 낙선 합계
합계 163 90 253 65%
수도권
경선 공천 37 9 46 80.4%
단수 공천 49 6 55 89.1%
전략 공천 16 3 19 84.2%
청년 경선 공천 1 0 1 100.0%
권역합계 103 18 121 88%
그외 권역
경선 공천 32 7 39 82.1%
단수 공천 17 7 24 70.8%
전략 공천 4 0 4 100.0%
권역합계 53 14 67 84%
대구경북 부울경
경선 공천 2 19 21 9.5%
단수 공천 4 35 39 10.3%
전략 공천 1 4 5 20.0%
권역합계 7 58 65 13%
코드

region_type_gt |>
  gtsave(filename = "images/region_type_gt.png")