모범 사례: 막대 그래프

ggplot2로 하는 중급 데이터 시각화

Rick Scavetta

Founder, Scavetta Academy

이번 장에서

  • 데이터 시각화의 흔한 함정
  • 데이터를 표현하는 최선의 방법
    • 효과적인 설명(커뮤니케이션)용,
    • 효과적인 탐색(조사)용 그래프
ggplot2로 하는 중급 데이터 시각화

막대 그래프

  • 두 종류
    • 절대값
    • 분포
ggplot2로 하는 중급 데이터 시각화

포유류의 수면

Observations: 76
Variables: 3
$ vore  <chr> "carni", "omni", "herbi", "omni", "herbi", "herbi", "carni", …
$ total <dbl> 12.1, 17.0, 14.4, 14.9, 4.0, 14.4, 8.7, 10.1, 3.0, 5.3, 9.4, …
$ rem   <dbl> NA, 1.8, 2.4, 2.3, 0.7, 2.2, 1.4, 2.9, NA, 0.6, 0.8, 0.7, 1.5…
ggplot2로 하는 중급 데이터 시각화

다이너마이트 플롯

d <- ggplot(sleep, aes(vore, total)) +
 # ...

d + 
  stat_summary(fun = mean,
               geom = "bar",
               fill = "grey50") +
  stat_summary(fun.data = mean_sdl,
               fun.args = list(mult = 1),
               geom = "errorbar", 
               width = 0.2)

ggplot2로 하는 중급 데이터 시각화

개별 데이터 포인트

# position
posn_j <- position_jitter(width = 0.2)

# plot
d +
  geom_point(alpha = 0.6, 
             position = posn_j)

ggplot2로 하는 중급 데이터 시각화

geom_errorbar()

d +
  geom_point(...) +
  stat_summary(fun = mean, 
               geom = "point", 
               fill = "red") +
  stat_summary(fun.data = mean_sdl, 
               fun.args = list(mult = 1), 
               geom = "errorbar", 
               width = 0.2, 
               color = "red")

ggplot2로 하는 중급 데이터 시각화

geom_pointrange()

d +
  geom_point(...) +
  stat_summary(fun.data = mean_sdl, 
               mult = 1, 
               width = 0.2, 
               color = "red")

ggplot2로 하는 중급 데이터 시각화

데이터 포인트 없이

d +
  stat_summary(fun = mean, 
               geom = "point") +
  stat_summary(fun.data = mean_sdl, 
               fun.args = list(mult = 1), 
               geom = "errorbar", 
               width = 0.2)

ggplot2로 하는 중급 데이터 시각화

막대는 필수가 아님

ggplot2로 하는 중급 데이터 시각화

연습할 준비 완료!

ggplot2로 하는 중급 데이터 시각화

Preparing Video For Download...