블로그

데이터 시각화 -ggplot2 package 본문

Computer engineering/R

데이터 시각화 -ggplot2 package

JuNM0418 2019. 4. 18. 13:04

그래프(Graph)

데이터를 보기 쉽게 그림으로 표현한 것이다.

데이터를 그림으로 표현하면 추세와 경향성이 드러나기 때문에 특징을 쉽게 이해할 수 있고, 그래프를 만드는 과정에서 새로운 패턴을 발견할 수 있습니다.

ggplot2 패키지

ggplot2는 그래프를 만들때 가장 많이 사용하는 그래프 입니다.

ggplot2문법은 레이어(layer)구조로 되어있습니다. 배경을 만들고, 위에 그래프 형태를 그리고, 마지막으로 축 범위, 색, 표식 등 설정을 추가하는 순서로 그래프를 그립니다.

이번에는 산점도, 막대 그래프, 선 그래프, 상자 그림을 만들어보겠습니다.

산점도

데이터를 x축과 y축에 점으로 표현한 그래프

연속 값으로 된 두 변수의 관계를 표현할 때 사용됩니다.

1. 배경 설정하기

library(ggplot2)

# X축은 displ, Y축은 hwy로 지정해 배경 생성
ggplot(data = mpg, aes(x = displ, y = hwy))

2. 그래프 추가하기

geom_point()를 추가해서 점을 찍어줍니다.

# 그래프에 점 추가하기
ggplot(data = mpg, aes(x=displ, y = hwy)) + geom_point()

3. 추가 옵션

xlim()ylim()을 사용해서 범위를 설정해 줍니다.

# X축과 Y축의 범위 설정하기
ggplot(data = mpg, aes(x=displ, y = hwy)) + geom_point() + xlim(3, 6) + ylim(10, 30)

막대 그래프

데이터의 크기를 막대의 길이로 표현한 그래프

집단 간 차이를 표현할 때 사용합니다.

평균 막대 그래프

  1. 집단별 평균표 만들기
library(ggplot2)
library(dplyr)

df_mpg <- mpg %>%
            group_by(drv) %>%
            summarise(mean_hwy = mean(hwy))
df_mpg

# A tibble: 3 x 2
  drv   mean_hwy
  <chr>    <dbl>
1 4         19.2
2 f         28.2
3 r         21  

2. 그래프 추가하기

ggplot(data = df_mpg, aes(x = drv, y = mean_hwy)) + geom_col()

3. 크기 순으로 정렬하기

# 내림차순
ggplot(data = df_mpg, aes(x = reorder(drv, -mean_hwy), y = mean_hwy)) + geom_col()

# 오름차순
ggplot(data = df_mpg, aes(x = reorder(drv, mean_hwy), y = mean_hwy)) + geom_col()

빈도그래프

1. 배경 설정하기

ggplot(data = mpg, aes(x = drv))

2. 그래프 추가하기

ggplot(data = mpg, aes(x = drv)) + geom_bar()

선 그래프

데이터를 선으로 표현한 그래프

시간에 따라 데이터가 어떻게 변하는지를 표현한 것.

시계열 데이터 : 일정 시간 간격을 두고 나열된 데이터

시계열 그래프 : 시계열 데이터를 선으로 표현한 그래프

1. 배경 설정하기

생략..

2. 그래프 추가하기

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

상자 그림

데이터의 분포를 직사각형 상자 모양으로 표현한 그래프

분포를 알 수 있기 때문에 평균만 볼 때보다 데이터의 특징을 더 자세히 이해할 수 있다.

1. 배경 설정하기

생략..

2. 그래프 추가하기

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

출처

김영우, 쉽게 배우는 R 데이터 분석, 이지퍼블리싱, 2019

Comments