본문 바로가기
R

[R] hist() - 히스토그램을 활용해보자!

by 위기의코딩맨 2024. 3. 13.
반응형

안녕하세요. 위기의코딩맨입니다.

오늘은 간단하게 히스토그램에 대해서 알아보도록 하겠습니다.

 

히스토그램은 형식 데이터인 도수 분포를 그림 형태로 나타낸 것이라고 생각하시면 됩니다.

이론적으로는 이렇게 설명이 가능하지만 실습을 진행하며 친해져 보도록 합시다!

[ hist() ]

바로 사용해보도록 합시다.

난수 생성을 위해서 set.seed를 설정해주고

평균 25,  표준편차 2 정규분포를 따르는 1000개의 체질량지수 값을 생성합니다.

그 값을 hist() 함수에 적용하고 freq를 FALSE로 설정합니다. y축 기준으로 상대도수를 출력하게 됩니다.

set.seed(100)
BMI <- rnorm(n=1000, m = 25, sd =2)
hist(BMI, freq=FALSE)

 

아주 기초적인 히스토그램 생성 방법입니다.

이제 breaks를 사용하여 계급 구간의 경계를 설정하여 히스토그램을 생성해보도록 하겠습니다.

아래와 같이 breadks의 설정으로 조금더 세밀한 표현이 가능합니다.

hist(BMI, breaks=5, main = "Use Breaks 5")
hist(BMI, breaks=25, main = "Use Breaks 25")

 

breaks로 구간도 설정할 수 있습니다.

이해하기 쉽게 18~32 구역의 중간인 25로 설정하고

18~25, 25~32 그래프를 그리도록 설정햇습니다.

hist(BMI, breaks=c(18,25,32), main='break Point')

해당 방식을 조금 더 유용하게 사용해보면

이런식으로 구간을 다양하게 구간을 설정해서 시각화할 수 있습니다.

hist(BMI, breaks=c(17,20,23,26,29,32), main='break Point')

 

하지만 위의 방식은 하나씩 설정해줘야하는 번거로움이 있습니다.

여기서 등장하는게 seq 입니다. 시작, 마지막 지점을 설정하고 by로 5를 설정하게되면

17+5, 22+5, 27+5로 표현이 되게됩니다.

hist(BMI, breaks=seq(17,32, by=5), main='break seq')

 

 

이제는 기본적인 색상과 표현에 대해서 알아볼까요~?

col은 히스토그램의 막대의 색상, border은 테두리 색상

density는 밀도를 나타내며, angle은 사선의 각도를 나타내고 있습니다.

이러한 정보로 사용자가 원하는 막대를 그리시면 될것같습니다.

hist(BMI, breaks=20, main = "Use Breaks 20", col="pink", border="red", density = 35, angle=100)

 

 

 

오늘은 간단하게 R에서 히스토그램을 그리는 방법에 대해서 알아봤습니다.

하루하루 포스팅을 진행하면서 재미를 느끼고 있습니다. ㅎㅎ

반응형