시각화/R

▶R로만드는 데이터시각화 :: Hello ggplot2 - bar, histogram그리기

비주얼라이즈 2014. 4. 30. 10:43






R로만드는 데이터시각화 :: Hello ggplot2 - bar, histogram그리기


오늘 살펴볼 것은 빈도수 막대그래프와 히스토그램입니다.

사용할 데이터는 'diamonds'라는 내장 데이터입니다.


데이터 형식을 먼저 살펴보겠습니다.


library(ggplot2)
str(diamonds)

ggplot2패키지를 로드하고,

diamonds의 내용을 str()g함수를 이용하여 살펴보겠습니다.



[str(diamonds)로 살펴본 diamonds데이터의 정보]


cut, dolor, clarity는 factor(요인)데이터이며

나머지 대부분의 데이터는 문자열(strings)데이터인 것을 확인할 수 있습니다.





이산적인 x축을 바탕으로하는 빈도수 막대그래프


이중에서 cut(factor)데이터를 바탕으로 빈도수 막대그래프를 그려보겠습니다.



ggplot(diamonds, aes(x=cut)) + geom_bar()


geom_bar()의 기본설정이 stat="bin"으로 되어있기때문에

각 집단에 속한 사건개수를 카운트합니다.

(geom_bar(stat="bin")과 동일)


[ggplot(diamonds, aes(x=cut)) + geom_bar()의 결과 모습]




연속적인 축으로 된 빈도수 막대그래프


위 그래프에서는 x축을 factor(요인)으로 지정해주었는데요,

이번에는 연속적인 값인 carat 데이터로 지정하여 그려보겠습니다



ggplot(diamonds, aes(x=carat)) + geom_bar(binwidth=0.25)
# ggplot(diamonds, aes(x=carat)) +geom_histogram(binwdith=0.25)와 동일

binwidth값으로 조정해줄 수 있습니다.



결과의 모습은 아래의 사진과 같습니다.


[ggplot(diamonds, aes(x=carat)) + geom_bar(binwdith=0.25)의 그래프]


연속적인 x축을 갖는 빈도수막대그래프의 모습입니다.

이는 '히스토그램'이라는 이름을 갖습니다.




히스토그램의 정의


도수분포표를 자료로 하여, 계급구간을 밑변으로 하고 도수를 높이로 하여 그린 그림이다.

기 둥 간에 간격이 없는 것이 막대그림표(bar diagram)와 다르다.[각주:1]


다이아몬드의 빈도수를 통해 0~2캐럿 사이의 값이 많고

그 이상부터는 값이 낮은 것을 볼 수 있습니다.








  1. 출처 교육평가용어사전 / 히스토그램 - [네이버 지식백과] 히스토그램 (용어해설) [본문으로]