'R로 수직막대형 차트 만들기'에 해당되는 글 1건

  1. 2017.08.05 6. R로 차트 만들기 ①

R을 이용해 차트를 만드는 방법에 대해 알아 보도록 하겠습니다. 먼저 수직막대형 차트를 작성해 보겠습니다. R에서 수직막대형 차트는 barplot()이나 qqplot()을 이용해 그릴 수 있습니다.

 

우선 최근 구입 브랜드에 관한 예시자료를 활성화하고 최근 구입 브랜드를 나타내는 변수 brand를 범주형으로 변경하고 각각의 브랜드를 나타내는 수치에 levels()를 이용해 브랜드명을 활당해 줍니다.

 

> bar=read.csv("bar_chart_1.csv")

> head(bar,3)

brand

1 1

2 9

3 1

 

>bar$brand=factor(bar$brand)

>levels(bar$brand)=c("brand A", "brand B","brand C","brand D","brand E","brand F","brand G","brand H","brand I","brand J")

> head(bar,3)

brand

1 brand A

2 brand I

3 brand A

 

table() prop.table()를 이용해 bar에 있는 brand 변수의 구성 비율을 구해 bar2에 저장합니다.

> bar2=table(bar$brand)

> bar2

brand A brand B brand C brand D brand E brand F brand G brand H brand I brand J

    187      55     204     171      51      33       4      29     197       2

 

 

 

> bar2=prop.table(bar2)

> print(bar2,digits=1)

brand A brand B brand C brand D brand E brand F brand G brand H brand I brand J

  0.200   0.059   0.219   0.183   0.055   0.035   0.004   0.031   0.211   0.002 t

 

마지막으로 barplot()를 이용해 수직막대형 차트를 그려 줍니다. decreasing은 내림차순으로 정렬하는 옵션입니다. col은 막대 안을 채우는 색상을 지정해주고, border는 막대의 테두리 색상을 지정합니다. ylim=c(0,1) y축의 범위를 0 1로 지정하는 옵션입니다.


 

> barplot(sort(bar2, decreasing = TRUE),col="#98E2FA",border="grey",ylim=c(0,1))

 

 

 

다음은 ggplot()을 이용해 수직막대형 차트를 만들어 보겠습니다. barplot과는 달리 ggplot() table()함수를 적용한 파일을 처리할 수 없기 때문에 table함수의 적용결과를 별도의 데이터 파일로 저장하여 ggplot()을 적용합니다. 차트를 구성한 파일을 활성화하여 빈도를 살펴볼 변수를 범주형으로 변경하고 명칭을 부여합니다.

 

 

> bar=read.csv("bar_chart_2.csv")

> bar$brand=factor(bar$brand)

> levels(bar$brand)=c("brand A", "brand B","brand C","brand D","brand E","brand F","brand G","brand H","brand I","brand J")

> head(bar,3)

brand y

1 brand B 87.5

2 brand H 86.5

 

3 brand J 83.3

 

ggplot()함수를 활용하기 위해서는 ggplot2 패키지를 설치해야 합니다.

 

 

> install.packages("ggplot2")

> library("ggplot2")

 

 

ggplot()에서 aes(x=reorder(bar$brand,-bar$y))의 의미는 x축에 bar 파일의 brand 변수수를 넣어주되, bar파일의 y변수의 내림차순에 따르도록 지정하는 것입니다. geom_bar는 차트의 형태를 막대형으로 지정해주는 함수입니다. stat는 분석파일을 생성하는 옵션인데 geom_bar에서는 identity로 고정입니다. fill은 막대의 안을 채우는 색상을 지정하는 옵션이고 color는 테두리 색상을 지정하는 옵션입니다. 다음으로 y축의 범위과 축의 눈금의 간격을 지정해 줍니다

 

>gg=ggplot(data=bar,aes(x=reorder(bar$brand,-bar$y),y=bar$y))+geom_bar(stat="ide

ntity",fill="#98E2FA",color="grey")

> gg=gg+scale_y_continuous(breaks=seq(0,100,by=10),limits=c(0,100) )

 

 

 

 

실습용 파일을 첨부합니다. R을 이용해 직접 수직막대형 차트를 만들어 보십시오.

bar_chart_1.csv

 

궁금한 점이 있으면 아래 버튼을 클릭해 주십시오. 데이터테일즈가 성실하게 답변 드리겠습니다.

 

 

 

Posted by dooka
,