長條圖

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...