막대 그래프

ggplot2로 시작하는 데이터 시각화

Rick Scavetta

Founder, Scavetta Academy

범주형 X축이 있는 막대 그래프

  • geom_bar() 또는 geom_col() 사용
Geom Stat 행동
geom_bar() "count" 각 x 위치에서 사례 수를 계산
geom_col() "identity" 실제 값을 그래프로 표시
  • 이전과 동일한 모든 포지션 사용 가능
  • 두 가지 유형
    • 절대 개수
    • 분포
ggplot2로 시작하는 데이터 시각화

범주형 X축이 있는 막대 그래프

  • geom_bar() 또는 geom_col() 사용
Geom Stat 행동
geom_bar() "count" 각 x 위치에서 사례 수를 계산
geom_col() "identity" 실제 값을 그래프로 표시
ggplot2로 시작하는 데이터 시각화

범주형 X축이 있는 막대 그래프

  • geom_bar() 또는 geom_col() 사용
Geom Stat 행동
geom_bar() "count" 각 x 위치에서 사례 수를 계산
geom_col() "identity" 실제 값을 그래프로 표시
  • 이전과 동일한 모든 포지션 사용 가능
  • 두 가지 유형
    • 절대 개수
    • 분포
ggplot2로 시작하는 데이터 시각화

포유류의 습성

str(sleep)
'data.frame':    76 obs. of  3 variables:
 $ vore : Factor w/ 4 levels "carni","herbi",..: 1 4 2 4 2 2 1 1 2 2 ...
 $ total: num  12.1 17 14.4 14.9 4 14.4 8.7 10.1 3 5.3 ...
 $ rem  : num  NA 1.8 2.4 2.3 0.7 2.2 1.4 2.9 NA 0.6 ...
ggplot2로 시작하는 데이터 시각화

막대그래프

ggplot(sleep, aes(vore)) + 
  geom_bar()

ggplot2로 시작하는 데이터 시각화

절대값 대신 분포 그리기

# Calculate Descriptive Statistics:
iris %>% 
  select(Species, Sepal.Width) %>% 
  pivot_longer(!Species, names_to = "key", 
  values_to = "value") %>%
  group_by(Species) %>% 
  summarise(avg = mean(value), 
            stdev = sd(value))
   -> iris_summ_long
iris_summ_long
Species avg stdev
setosa 3.43 0.38
versicolor 2.77 0.31
virginica 2.97 0.32
ggplot2로 시작하는 데이터 시각화

분포 그리기

ggplot(iris_summ_long, aes(x = Species, 
                           y = avg)) + 
  geom_col() +
  geom_errorbar(aes(ymin = avg - stdev, 
                    ymax = avg + stdev), 
                width = 0.1)

ggplot2로 시작하는 데이터 시각화

연습해 봅시다!

ggplot2로 시작하는 데이터 시각화

Preparing Video For Download...