본문 바로가기

R

R - 상자그림(box plot)

상자 그림 : 사분위수를 시각화하여 그래프 형태로 나타낸 것. 특이값 파악에 유용하다. 

 

상자 그림이 포함하는 값

# 최솟값 : 저장된 값 중에 가장 작은 값
# 최댓값 : 저장된 값 중에 가장 큰 값
# 1사분위 값 : 25%에 해당하는 값. Q1
# 중앙 값 : 50%에 해당하는 값 Q2
# 3사분위 값 : 75%에 해당하는 값. Q3

-> 단일 변수 수치형 자료를 분석시 사용된다. 

 

 

# 상자그림 그래프로 cars 데이터 분석하기 

1)

str(cars)

2)

hist(cars$dist)

3)

dist <- cars[,2] <- cars$dist 값만 추출하기 

dist 

 

 

4)

boxplot(dist,main='자동차 제동거리')

*1 빨간 박스에 위치한 o(특이점)을 확인할 수 있다. (이상값)

*2 회색 음영 박스는 전체 값의 50%가 모여있다 20위 60아래 쪽으로

*3 회색 음영 박스 안의 굵은 선은 중간 값을 의미한다. (대략 38정도)

*4 회색 음영 박스 밑변은 1사분위, 윗변은 3사분위를 의미한다. 

 

5) 상자그림 수치정보 조회

boxplot.stats(dist)

$stats
2 : 최소값

26 : Q1

36 : Q2 중간값

56 : Q3

93 : 최댓값 

 

$n <- 관측값 갯수
50

$conf <- 중간값에 대한 신뢰구간 
29.29663 

42.70337  

$out <- 특이 값
120

 

# 그룹이 있는 boxplot 그래프 그리기

# Petal.Length 값을 Species(3개) 종류 별로 상자 그래프 그리기 

# Petal.Length <- 꽃잎 길이 

(1) boxplot(Petal.Length~Species,
        data=iris,
        main='품종별 꽃잎의 길이',
        col=c('green','yellow','blue'))

 

(2) boxplot(iris$Petal.Length~iris$Species,
        main='품종별 꽃잎의 길이',
        col=c('green','yellow','blue'))

 

 

*1 setosa 그룹의 길이가 가장 짧은 걸 알 수 있다.

*2 setosa와 versicolor 그룹의 특이점이 각각 존재한다. 

 

# 연습문제, 자동가 연비(mpg) 값을 상자그림으로 출력하기

boxplot(mtcars$mpg,main='자동차연비')
boxplot.stats(mtcars$mpg)

# 기어수(gear)에 따른 자동차들의 연비(mpg) 값을 상자그림 출력하기

boxplot(mtcars$mpg~mtcars$gear)

# 중량(wt)이 평균 이상인 그룹(high)과 미만인 그룹(low)으로 모델 나눠서 
# 엔진의힘(hp)의 분포 출력하기

1) 요약값 조회

str(mtcars)

2) grp 데이터 생성하여 평균 이상 값과 이하 값에 'high' 그리고 'low' 값 생성
grp <- rep('high',nrow(mtcars))
grp[mtcars$wt < mean(mtcars$wt)] <- 'low'

grp

mtcars$wt

3) 상자 그래프 그리기
boxplot(mtcars$hp~grp)

 

'R' 카테고리의 다른 글

R - 샘플링(sampling)  (0) 2021.05.31
R - 정렬 (sort, order)  (0) 2021.05.31
R - 결측값 처리  (0) 2021.05.28
R - attach/detach 함수  (0) 2021.05.28
R - 산점도(scatter plot)  (0) 2021.05.27