第 8 週 07_ggplot視覺化語法

演練這個單元時,建議開啟原論文code-book.pdf,搭配演練過程隨時參考。

[dplyr](https://dplyr.tidyverse.org/),[ggplot2](https://ggplot2.tidyverse.org/)的開發者有說明網站,程式碼有用到這些函式但遇到卡關的話,可先從說明網站找找可行範例。

單元4~單元9建議同學可參考電子書講義課前自行演練,上課會有最佳學習效果。

單元7的作業檔案改編自“stub-data-viz.Rmd”。

這個單元是逐步拆解第5週的練習7,仔細演練ggplot2函式的程式碼佈局。最後有追加一個電子書沒有的演練項目,視實際上課狀況,追加演練項目做為課堂或課後作業。

8.1 練習1: dplyr函式小測驗

在作業Rmd的預置chunk撰寫能回覆電子書7.2問題的程式碼。

本次設定為課後演練

8.2 ggplot2視覺化語法解析

ggplot2繪圖的製程,如同“提拉米蘇”。

圖片來源:浪子遊 創用CC 姓名標示-非商業性-禁止改作 3.0 台灣授權條款

8.3 練習2-0: 受測者性別人數統計表

使用已學到的dplyr函式,重製這份表格。

會使用到的函式有 dplyr::summarise(),dplyr::summarise(),dplyr::mutate(),base::ifelse

gender Number of participants
Female 843
Male 149

8.4 練習2: 準備繪圖資料

第7週的練習1與2,匯入資料並挑出需要的欄位summarydata

8.5 練習3: 變項屬性轉換

資料輸入繪圖函式前,要確認做為分組軸線的變項,類別(class)必須是因子(factor),否則函式無法處理。

演練電子書7.5的操作。觀察第5週演練7的函式,在那裡出現將變項類別轉換為因子?

補充:R物件的類別 連結至Datacamp

8.6 練習4: Bar plot分解操作

演練電子書7.6的操作步驟,每個步驟用一個R chunk測試,試著改變函式中的參數,紀錄改變後的測試結果。

8.7 練習5-0: 不同收入的幸福感統計表

使用已學到的dplyr函式,重製這份表格。

會使用到的函式有 dplyr::summarise(),dplyr::group_by(),dplyr::mutate(),base::ifelse,base::quantile(),stats::IQR()

Income lower_bound Q1 Median Q3 upper_bound
Above Average 44 62.0 72 80 98.0
Average 45 64.0 75 83 102.0
Below Average 43 63.5 76 84 104.5

8.8 練習5-1: 小提琴及箱型圖(模式B暖身)

演練電子書7.7的程式碼,參考電子書的建議,調整geom_violin()geom_boxplot()的參數並測試。

課後演練: 小提琴圖最高峰的分數為何不等於中位數?也不是平均值?如果最高峰等於中位數與平均值,小提琴圖會是什麼模樣?

8.9 練習5-2: 製程調換

演練電子書7.8的程式碼,將上一個項目的geom_violin()geom_boxplot()順序調換,測試繪圖結果。

  • 這項演練併入練習5-1

8.10 練習6: 追加項目

詳見單元7作業Rmd檔。