Data Arrange
rm(list=ls())
load("sejong_poll_kor.rda")
ls()
## [1] "chosun.pop.data" "chosun.pop.data.long"
## [3] "data" "n.family"
## [5] "n.households" "o.class"
## [7] "o.region" "o.vote"
## [9] "opar" "ordinary"
## [11] "sejong.poll" "sejong.poll.2"
## [13] "sejong.poll.3rd" "sejong.poll.3rd.ex"
## [15] "sejong.poll.chief" "sejong.poll.high"
## [17] "sejong.poll.kr" "sejong.poll.kr.officers"
## [19] "sejong.poll.kr.ordinary" "sejong.poll.ordinary"
## [21] "year.chosun"
sejong.poll
## counts vote class region color
## 1 21 yes high Seoul blue
## 2 194 no high Seoul red
## 3 259 yes third.current Seoul blue
## 4 393 no third.current Seoul red
## 5 443 yes third.ex Seoul blue
## 6 117 no third.ex Seoul red
## 7 1123 yes ordinary yuhu blue
## 8 71 no ordinary yuhu red
## 9 29 yes chief gyunggi blue
## 10 5 no chief gyunggi red
## 11 17076 yes ordinary gyunggi blue
## 12 236 no ordinary gyunggi red
## 13 1 no high pyungan red
## 14 6 yes chief pyungan blue
## 15 35 no chief pyungan red
## 16 1326 yes ordinary pyungan blue
## 17 28474 no ordinary pyungan red
## 18 17 yes chief hwanghae blue
## 19 17 no chief hwanghae red
## 20 4454 yes ordinary hwanghae blue
## 21 15601 no ordinary hwanghae red
## 22 2 no high chungcheong red
## 23 35 yes chief chungcheong blue
## 24 26 no chief chungcheong red
## 25 6982 yes ordinary chungcheong blue
## 26 14013 no ordinary chungcheong red
## 27 5 yes chief kangwon blue
## 28 10 no chief kangwon red
## 29 939 yes ordinary kangwon blue
## 30 6888 no ordinary kangwon red
## 31 1 no high hamgil red
## 32 3 yes chief hamgil blue
## 33 14 no chief hamgil red
## 34 75 yes ordinary hamgil blue
## 35 7387 no ordinary hamgil red
## 36 55 yes chief gyungsang blue
## 37 16 no chief gyungsang red
## 38 36262 yes ordinary gyungsang blue
## 39 377 no ordinary gyungsang red
## 40 2 no high jeolla red
## 41 42 yes chief jeolla blue
## 42 12 no chief jeolla red
## 43 29505 yes ordinary jeolla blue
## 44 257 no ordinary jeolla red
sejong.poll.2<-sejong.poll
sejong.poll.2$vote<-factor(sejong.poll.2$vote,levels=c("yes","no"),labels=c("찬성","반대"))
sejong.poll.2$class<-factor(sejong.poll.2$class,levels=c("high","chief","third.current","third.ex","ordinary"),labels=c("대신 등","수령", "3품이하현직","3품이하전직","품관촌민"))
sejong.poll.2$region<-factor(sejong.poll.2$region,levels=c("Seoul","yuhu","gyunggi","pyungan","hwanghae","chungcheong","kangwon","hamgil","gyungsang","jeolla"),labels=c("서울","유후사","경기","평안","황해","충청","강원","함길","경상","전라"))
sejong.poll.kr<-sejong.poll.2
sejong.poll.kr
## counts vote class region color
## 1 21 찬성 대신 등 서울 blue
## 2 194 반대 대신 등 서울 red
## 3 259 찬성 3품이하현직 서울 blue
## 4 393 반대 3품이하현직 서울 red
## 5 443 찬성 3품이하전직 서울 blue
## 6 117 반대 3품이하전직 서울 red
## 7 1123 찬성 품관촌민 유후사 blue
## 8 71 반대 품관촌민 유후사 red
## 9 29 찬성 수령 경기 blue
## 10 5 반대 수령 경기 red
## 11 17076 찬성 품관촌민 경기 blue
## 12 236 반대 품관촌민 경기 red
## 13 1 반대 대신 등 평안 red
## 14 6 찬성 수령 평안 blue
## 15 35 반대 수령 평안 red
## 16 1326 찬성 품관촌민 평안 blue
## 17 28474 반대 품관촌민 평안 red
## 18 17 찬성 수령 황해 blue
## 19 17 반대 수령 황해 red
## 20 4454 찬성 품관촌민 황해 blue
## 21 15601 반대 품관촌민 황해 red
## 22 2 반대 대신 등 충청 red
## 23 35 찬성 수령 충청 blue
## 24 26 반대 수령 충청 red
## 25 6982 찬성 품관촌민 충청 blue
## 26 14013 반대 품관촌민 충청 red
## 27 5 찬성 수령 강원 blue
## 28 10 반대 수령 강원 red
## 29 939 찬성 품관촌민 강원 blue
## 30 6888 반대 품관촌민 강원 red
## 31 1 반대 대신 등 함길 red
## 32 3 찬성 수령 함길 blue
## 33 14 반대 수령 함길 red
## 34 75 찬성 품관촌민 함길 blue
## 35 7387 반대 품관촌민 함길 red
## 36 55 찬성 수령 경상 blue
## 37 16 반대 수령 경상 red
## 38 36262 찬성 품관촌민 경상 blue
## 39 377 반대 품관촌민 경상 red
## 40 2 반대 대신 등 전라 red
## 41 42 찬성 수령 전라 blue
## 42 12 반대 수령 전라 red
## 43 29505 찬성 품관촌민 전라 blue
## 44 257 반대 품관촌민 전라 red
attach(sejong.poll.kr)
xtabs(counts~vote, data=sejong.poll.kr)
## vote
## 찬성 반대
## 98657 74149
xtabs(counts~class, data=sejong.poll.kr)
## class
## 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 221 327 652 560 171046
xtabs(counts~region, data=sejong.poll.kr)
## region
## 서울 유후사 경기 평안 황해 충청 강원 함길 경상 전라
## 1427 1194 17346 29842 20089 21058 7842 7480 36710 29818
xtabs(counts~vote+class, data=sejong.poll.2)
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 21 192 259 443 97742
## 반대 200 135 393 117 73304
xtabs(counts~vote+region, data=sejong.poll.2)
## region
## vote 서울 유후사 경기 평안 황해 충청 강원 함길 경상 전라
## 찬성 723 1123 17105 1332 4471 7017 944 78 36317 29547
## 반대 704 71 241 28510 15618 14041 6898 7402 393 271
xtabs(counts~vote+class+region, data=sejong.poll.2)
## , , region = 서울
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 21 0 259 443 0
## 반대 194 0 393 117 0
##
## , , region = 유후사
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 0 0 0 1123
## 반대 0 0 0 0 71
##
## , , region = 경기
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 29 0 0 17076
## 반대 0 5 0 0 236
##
## , , region = 평안
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 6 0 0 1326
## 반대 1 35 0 0 28474
##
## , , region = 황해
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 17 0 0 4454
## 반대 0 17 0 0 15601
##
## , , region = 충청
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 35 0 0 6982
## 반대 2 26 0 0 14013
##
## , , region = 강원
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 5 0 0 939
## 반대 0 10 0 0 6888
##
## , , region = 함길
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 3 0 0 75
## 반대 1 14 0 0 7387
##
## , , region = 경상
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 55 0 0 36262
## 반대 0 16 0 0 377
##
## , , region = 전라
##
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 찬성 0 42 0 0 29505
## 반대 2 12 0 0 257
ftable(xtabs(counts~vote+class+region, data=sejong.poll.2))
## region 서울 유후사 경기 평안 황해 충청 강원 함길 경상 전라
## vote class
## 찬성 대신 등 21 0 0 0 0 0 0 0 0 0
## 수령 0 0 29 6 17 35 5 3 55 42
## 3품이하현직 259 0 0 0 0 0 0 0 0 0
## 3품이하전직 443 0 0 0 0 0 0 0 0 0
## 품관촌민 0 1123 17076 1326 4454 6982 939 75 36262 29505
## 반대 대신 등 194 0 0 1 0 2 0 1 0 2
## 수령 0 0 5 35 17 26 10 14 16 12
## 3품이하현직 393 0 0 0 0 0 0 0 0 0
## 3품이하전직 117 0 0 0 0 0 0 0 0 0
## 품관촌민 0 71 236 28474 15601 14013 6888 7387 377 257
- 찬반을 색깔로 구분. 우선, sejong.poll.kr 을 search 라이브러리에서 분리후 작업.
detach(sejong.poll.kr)
sejong.poll.kr$color[sejong.poll.kr$vote=="찬성"]<-"blue"
sejong.poll.kr$color[sejong.poll.kr$vote=="반대"]<-"red"
sejong.poll.kr
## counts vote class region color
## 1 21 찬성 대신 등 서울 blue
## 2 194 반대 대신 등 서울 red
## 3 259 찬성 3품이하현직 서울 blue
## 4 393 반대 3품이하현직 서울 red
## 5 443 찬성 3품이하전직 서울 blue
## 6 117 반대 3품이하전직 서울 red
## 7 1123 찬성 품관촌민 유후사 blue
## 8 71 반대 품관촌민 유후사 red
## 9 29 찬성 수령 경기 blue
## 10 5 반대 수령 경기 red
## 11 17076 찬성 품관촌민 경기 blue
## 12 236 반대 품관촌민 경기 red
## 13 1 반대 대신 등 평안 red
## 14 6 찬성 수령 평안 blue
## 15 35 반대 수령 평안 red
## 16 1326 찬성 품관촌민 평안 blue
## 17 28474 반대 품관촌민 평안 red
## 18 17 찬성 수령 황해 blue
## 19 17 반대 수령 황해 red
## 20 4454 찬성 품관촌민 황해 blue
## 21 15601 반대 품관촌민 황해 red
## 22 2 반대 대신 등 충청 red
## 23 35 찬성 수령 충청 blue
## 24 26 반대 수령 충청 red
## 25 6982 찬성 품관촌민 충청 blue
## 26 14013 반대 품관촌민 충청 red
## 27 5 찬성 수령 강원 blue
## 28 10 반대 수령 강원 red
## 29 939 찬성 품관촌민 강원 blue
## 30 6888 반대 품관촌민 강원 red
## 31 1 반대 대신 등 함길 red
## 32 3 찬성 수령 함길 blue
## 33 14 반대 수령 함길 red
## 34 75 찬성 품관촌민 함길 blue
## 35 7387 반대 품관촌민 함길 red
## 36 55 찬성 수령 경상 blue
## 37 16 반대 수령 경상 red
## 38 36262 찬성 품관촌민 경상 blue
## 39 377 반대 품관촌민 경상 red
## 40 2 반대 대신 등 전라 red
## 41 42 찬성 수령 전라 blue
## 42 12 반대 수령 전라 red
## 43 29505 찬성 품관촌민 전라 blue
## 44 257 반대 품관촌민 전라 red
- 규모에 따라 “품관촌민”과 다른 계급을 분리하여 분석. !의 용도에 대하여 숙지.
attach(sejong.poll.kr)
ordinary<-class=="품관촌민"
ordinary
## [1] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE TRUE
## [12] TRUE FALSE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TRUE FALSE
## [23] FALSE FALSE TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE
## [34] TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE
sejong.poll.kr.ordinary<-sejong.poll.kr[ordinary,]
sejong.poll.kr.ordinary
## counts vote class region color
## 7 1123 찬성 품관촌민 유후사 blue
## 8 71 반대 품관촌민 유후사 red
## 11 17076 찬성 품관촌민 경기 blue
## 12 236 반대 품관촌민 경기 red
## 16 1326 찬성 품관촌민 평안 blue
## 17 28474 반대 품관촌민 평안 red
## 20 4454 찬성 품관촌민 황해 blue
## 21 15601 반대 품관촌민 황해 red
## 25 6982 찬성 품관촌민 충청 blue
## 26 14013 반대 품관촌민 충청 red
## 29 939 찬성 품관촌민 강원 blue
## 30 6888 반대 품관촌민 강원 red
## 34 75 찬성 품관촌민 함길 blue
## 35 7387 반대 품관촌민 함길 red
## 38 36262 찬성 품관촌민 경상 blue
## 39 377 반대 품관촌민 경상 red
## 43 29505 찬성 품관촌민 전라 blue
## 44 257 반대 품관촌민 전라 red
sejong.poll.kr.officers<-sejong.poll.kr[!(ordinary),]
sejong.poll.kr.officers
## counts vote class region color
## 1 21 찬성 대신 등 서울 blue
## 2 194 반대 대신 등 서울 red
## 3 259 찬성 3품이하현직 서울 blue
## 4 393 반대 3품이하현직 서울 red
## 5 443 찬성 3품이하전직 서울 blue
## 6 117 반대 3품이하전직 서울 red
## 9 29 찬성 수령 경기 blue
## 10 5 반대 수령 경기 red
## 13 1 반대 대신 등 평안 red
## 14 6 찬성 수령 평안 blue
## 15 35 반대 수령 평안 red
## 18 17 찬성 수령 황해 blue
## 19 17 반대 수령 황해 red
## 22 2 반대 대신 등 충청 red
## 23 35 찬성 수령 충청 blue
## 24 26 반대 수령 충청 red
## 27 5 찬성 수령 강원 blue
## 28 10 반대 수령 강원 red
## 31 1 반대 대신 등 함길 red
## 32 3 찬성 수령 함길 blue
## 33 14 반대 수령 함길 red
## 36 55 찬성 수령 경상 blue
## 37 16 반대 수령 경상 red
## 40 2 반대 대신 등 전라 red
## 41 42 찬성 수령 전라 blue
## 42 12 반대 수령 전라 red
- 각 계급집단에 대하여 지역별 찬반을 dotchart 로 표현
dotchart(xtabs(counts~vote+region,data=sejong.poll.kr.officers)[2:1,], color=color, main="관료집단")

dotchart(xtabs(counts~vote+region,data=sejong.poll.kr.ordinary)[2:1,], color=color, main="품관촌민")

- 관료집단 중 서울의 상황을 보다 상세히 그려보면. pch=17 의 효과 검토.
detach()
attach(sejong.poll.kr.officers)
xtabs(counts~vote+class, data=sejong.poll.kr.officers[region=="서울",])[2:1,]
## class
## vote 대신 등 수령 3품이하현직 3품이하전직 품관촌민
## 반대 194 0 393 117 0
## 찬성 21 0 259 443 0
dotchart(xtabs(counts~vote+class,data=sejong.poll.kr.officers[region=="서울",])[2:1,], color=color, pch=17, main="서울")
