We-Co

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

R

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

위기의코딩맨 2024. 3. 13. 11:03
반응형

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

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

 

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

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

[ 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에서 히스토그램을 그리는 방법에 대해서 알아봤습니다.

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

반응형