본문 바로가기

My Work/Data Literacy

R 공부 (5편) - 쉽게 배우는 R 데이터 분석

그래프

R에서는 'ggplot2' 패키지를 사용해서 다양한 그래프를 만들 수 있다. 'ggplot2' 문법은 레이어 구조로 되어 있다. 1단계에서는 배경 설정(축)을 하고 2단계에서는 그래프를 추가하며, 3단계에서는 축 범위, 색, 표식 같은 설정을 추가한다. 

 

아래는 산점도 그래프를 구현하는 코드이다. geom_point() 함수를 이용하면 산점도 표현이 가능하다.

library(ggplot2)  # 패키지 설치
ggplot(data = mpg, aes(x = displ, y = hwy))  # x, y축 설정
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point()  # 산점도 추가
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + xlim(3, 6) + ylim(10, 30)  # 축 범위 설정

산점도 그래프

 

 

다음은 막대 그래프 구현이다. geom_col() 함수를 사용하면 막대 그래프 구현이 가능하다. 이 때, reorder() 함수를 사용하면 크기 순으로 정렬이 가능하다. 추가로, geom_col() 함수 대신 geom_bar() 함수르 ㄹ 사용하면 빈도 막대 그래프를 구현할 수 있다. 

library(dplyr)
df_mpg <- mpg %>% group_by(drv) %>% summarise(mean_hwy = mean(hwy))
ggplot(data = df_mpg, aes(x = drv, y = mean_hwy)) + geom_col()  # 막대 그래프를 만드는 함수

막대 그래프

 

 

선 그래프는 geom_line() 함수를 이용해서 구현이 가능하다.

ggplot(data = economics, aes(x = date, y = unemploy)) + geom_line()

선 그래프

 

 

다음은 'Box Plot (상자 그림)' 이다. 데이터의 분포를 직사각형 상자 모양으로 표현한 그래프이다. 'Box Plot'에서 값을 크기 순으로 나열해 4등분 했을 때 위치하는 값인 '사분위수'를 이용한다. 

 

- 상자 아래 세로선 : 하위 0% ~ 25%

- 상자 밑면 : 하위 25%

- 상자 내 굵은 선 : 하위 50% (중앙값)

- 상자 윗면 : 하위 75%

- 상자 위 세로선 : 하위 75% ~ 100%

ggplot(data = mpg, aes(x = drv, y = hwy)) + geom_boxplot()