使用 geoms 的統計

ggplot2 中級資料視覺化

Rick Scavetta

Founder, Scavetta Academy

ggplot2,第 2 課

  • 統計(Statistics)
  • 座標(Coordinates)
  • 分面(Facets)
  • 視覺化最佳實務
ggplot2 中級資料視覺化

統計圖層

  • 兩類函式
    • 在 geom 內呼叫
    • 獨立呼叫
  • stats_
ggplot2 中級資料視覺化

geom_ <-> stat_

p <- ggplot(iris, aes(x = Sepal.Width))
p + geom_histogram()

geomhistogram

ggplot2 中級資料視覺化

geom_ <-> stat_

p <- ggplot(iris, aes(x = Sepal.Width))
p + geom_histogram()
p + geom_bar()

geomhistogram

ggplot2 中級資料視覺化

geom_ <-> stat_

p <- ggplot(mtcars, aes(x = factor(cyl),  fill = factor(am))) 
p + geom_bar()
p + stat_count()

ggplot2 中級資料視覺化

geom_/stat_ 的對應關係

stat_ geom_
stat_bin() geom_histogram(), geom_freqpoly()
stat_count() geom_bar()
ggplot2 中級資料視覺化

stat_smooth()

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width, 
                 color = Species)) + 
  geom_point() +
  geom_smooth()
geom_smooth() using method = 'loess' and 
formula 'y ~ x'

ggplot2 中級資料視覺化

stat_smooth(se = FALSE)

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width, 
                 color = Species)) + 
  geom_point() +
  geom_smooth(se = FALSE)
geom_smooth() using method = 'loess' and 
formula 'y ~ x'

ggplot2 中級資料視覺化

geom_smooth(span = 0.4)

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width, 
                 color = Species)) + 
  geom_point() +
  geom_smooth(se = FALSE, span = 0.4)
geom_smooth() using method = 'loess' and 
formula 'y ~ x'

ggplot2 中級資料視覺化

geom_smooth(method = "lm")

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width, 
                 color = Species)) + 
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

ggplot2 中級資料視覺化

geom_smooth(fullrange = TRUE)

ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width, 
                 color = Species)) + 
  geom_point() +
  geom_smooth(method = "lm", 
              fullrange = TRUE)

ggplot2 中級資料視覺化

geom_/stat_ 的對應關係

stat_ geom_
stat_bin() geom_histogram(), geom_freqpoly()
stat_count() geom_bar()
stat_smooth() geom_smooth()
ggplot2 中級資料視覺化

其他 stat_ 函式

stat_ geom_
stat_boxplot() geom_boxplot()
ggplot2 中級資料視覺化

其他 stat_ 函式

stat_ geom_
stat_boxplot() geom_boxplot()
stat_bindot() geom_dotplot()
stat_bin2d() geom_bin2d()
stat_binhex() geom_hex()
ggplot2 中級資料視覺化

其他 stat_ 函式

stat_ geom_
stat_boxplot() geom_boxplot()
stat_bindot() geom_dotplot()
stat_bin2d() geom_bin2d()
stat_binhex() geom_hex()
stat_contour() geom_contour()
stat_quantile() geom_quantile()
stat_sum() geom_count()
ggplot2 中級資料視覺化

一起來練習吧!

ggplot2 中級資料視覺化

Preparing Video For Download...