본문 바로가기

R프로그래밍,통계학/R까기2

(명목형변수별로 수치를 나타낼때)_dplyr 패키지를 이용해 필요한 데이터를 만들고 그래프로 나타내기

반응형

#R까기2의 예제 13를 참고하였습니다.

명목형 변수(도수) 별로 수치(남녀비율)를 나타낼 때 참고 할 수 있는 예제입니다. 

Barplot을 이용하였습니다.

 

example_population_f.csv
0.02MB

데이터를 불러오고 필요없는 열을 삭제해 줍니다. 

install.packages("dplyr")
library("dplyr")
library("ggplot2")
library("ggthemes")
DF <- read.csv("example_population_f.csv")
DF <- DF[,-1]

 

아래와 같은 데이터 입니다.

 

 

DF <- mutate(DF,SexF = ifelse(SexRatio <1, "여자비율높음",ifelse(SexRatio>1,"남여비율같음","남자비율높음")))
#남녀 비율에따라서 어느쪽이 높은지를 알려주는 SexF변수를 추가합니다.

#경기도 데이터만 DF2에 따로 저장하기
DF2 <- filter(DF, Provinces=="경기도")
Graph <- ggplot(DF2,aes(x=City, y=(SexRatio-1),fill=SexF))+ geom_bar(stat="identity",position="identity")+ theme_wsj()
Graph

 

경기도 데이터에 한해서, 각 구별로 어느성별 비율이 더 높은지를 나타내보았습니다.

 

 

#서울 데이터만 DF4에 따로 저장하기
DF4 <- filter(DF, Provinces =="서울특별시")
Graph2 <- ggplot(DF4, aes(x=City, y=(SexRatio-1),fill=SexF))+geom_bar(stat="identity", position="identity")+theme_wsj()

Graph2

 

이번에는 서울시에 한해서 나타내보았습니다. 

 

 

*여기서 stat= "identity" 옵션은 y축값을 도수가아닌 고유값으로 설정하는 것이고

position = " identity" 옵션은 막대를 겹치지 않고 각각 나타내는 설정입니다. 

 

*한정된 그래프 공간 안에서 글자가 겹치는 문제를 해결하기위해서는 크게 2가지 방법이있습니다.

1)글자를 세로로 배열하는방법 las=2 옵션을 추가한다.

2)글자크기를 줄이는 방법 : cex.names = " " 옵션을 추가한다. (" " 사이에는 작은 수를 넣는다.)

반응형