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을 이용해 직접 수직막대형 차트를 만들어 보십시오.
궁금한 점이 있으면 아래 버튼을 클릭해 주십시오. 데이터테일즈가 성실하게 답변 드리겠습니다.
'R기어가기' 카테고리의 다른 글
8. R을 이용한 크롬바하 알파값 계산 (0) | 2018.05.21 |
---|---|
7. R로 차트 만들기 ② (0) | 2017.09.27 |
5. 테이블!! R로 다시 만들기 (0) | 2017.07.13 |
4. R을 이용한 IPA 산점도 작성 (0) | 2017.01.13 |
3. 테이블! R로 만들기 (0) | 2017.01.07 |