第 8 週 07_ggplot視覺化語法
演練這個單元時,建議開啟原論文與code-book.pdf,搭配演練過程隨時參考。
[dplyr](https://dplyr.tidyverse.org/)
,[ggplot2](https://ggplot2.tidyverse.org/)
的開發者有說明網站,程式碼有用到這些函式但遇到卡關的話,可先從說明網站找找可行範例。
單元7的作業檔案改編自“stub-data-viz.Rmd”。
這個單元是逐步拆解第5週的練習7,仔細演練ggplot2
函式的程式碼佈局。最後有追加一個電子書沒有的演練項目,視實際上課狀況,追加演練項目做為課堂或課後作業。
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.10 練習6: 追加項目
詳見單元7作業Rmd檔。