본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 18. Box plot(상자그림) 그리는 방법

by 만다린망고 2020. 3. 16.
반응형

 

 
 

1. 상자그림

 

R을 이용하여 상자그림을 그리는 방법을 알아봅시다. 아래와 같은 그림이 상자그림인데요. 점선부분이 수염처럼 생겼기 때문에 상자수염그림이라고도 부릅니다. 

 

 

상자그림은 다섯가지 정보를 담고 있는 그림입니다. 

 

- 최댓값 

- 3사분위수 (데이터의 75%가 이 값 이하 또는 데이터의 25%가 이 값 초과)

- 2사분위수 (순서상 50%에 위치하는 값, 중간값)

- 1사분위수 (데이터의 25%가 이 값 이하)

- 최솟값

 

사분위수를 계산하는 방법은 여러가지가 있는데요. R에서는 9가지 방법을 제공하고 있습니다. 나중에 자세히 다루도록 합시다. 

 

벡터를 하나 정의하고 상자그림을 그려봅시다. 

 

> x=c(1,2,3,4,5)

> boxplot(x)

 

 

 

가로선이 위에서부터 다섯개가 그려져 있습니다. 맨 위 가로선이 최댓값이구요. 아래로 내려오면서 3사분위수, 2사분위수(굵은선), 1사분위수, 최솟값이 있습니다. 

 

이번에는 위 벡터에 10을 추가해봅시다. 

 

> x=c(1,2,3,4,5,10)

 

> boxplot(x)

 

 

최댓값이 있어야할 자리에 속이 빈 점이 하나 찍혀있고 수염도 사라졌습니다. 이 값을 outlier 라고 합니다. 극단치, 혹은 이상점(이상한 점)이라고 부릅니다. 최댓값이라고 하기에는 나머지 자료들과 너무 동떨어져 있기 때문에, 잘못 찍힌 점으로 분류하는 것입니다. 극단치로 분류되는 기준이 있는데요. 기준은 IQR이라는 단위를 이용하여 정의됩니다. 먼저 IQR이 무엇인지 알아봅시다. 

 

 

 

2. IQR과 극단치 분류 기준

 

IQR은 interquartile range의 약자입니다. 사분위수 사이의 범위라는 뜻인데요. 3사분위수와 1사분위수 사이의 범위입니다. 1사분위수 보다 1.5IQR 초과로 작은 값과 3사분위수보다 1.5IQR 초과로 큰 값은 극단값(이상값)으로 분류됩니다. 

 

- 최대값 초과 outlier : 3사분위수 + 1.5IQR 초과인 경우

- 최소값 미만 outlier : 1사분위수 - 1.5IQR 미만인 경우

 

3. 여러 자료의 상자그림

 

세가지 자료의 상자그림을 하나의 그래프 안에 넣어보겠습니다. 

 

> x=c(1,2,3,4,5)

> y=c(2,3,4,5,6)

> z=c(3,4,5,6,7)

 

> boxplot(x,y,z)

 

 

 

4. 옵션추가(데코레이션)

 

상자그림을 그릴 때, 색을 바꾸거나 이름을 추가할 수 있습니다. 아래 표를 참고하시면 됩니다. 

 

col 색상 변경 
main 제목 지정 
xlab x축 이름 
ylab y축 이름 
xlim x값 범위 
ylim y값 범위 
names 각 데이터 이름 
 boxwex  상자 폭
 staplewex  최솟값,최댓값 선 길이
outwex 극단치 폭 

 

예를들어봅시다. 

 

> a=c(1,2,3,4,5)

> b=c(2,3,4,5,6)

> c=c(3,4,5,6,7)

> boxplot(a,b,c,col=c("red","blue","gray"),

+ main="Title",xlab="xname",ylab="yname",

+ xlim=c(0,5),ylim=c(0,10),names=c("a","b","c"))

 

 

 

 

 

반응형

댓글