第 6 週 05_資料清理技巧(上)

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

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

單元5的作業檔案改編自“stub-wrangling-1.Rmd”。

這個單元我們透過美國新生兒姓名統計資料庫babynames,認識如何使用dplyrggplot2套件的函式初窺資料、選擇變項、排序及過濾資料、創建新變項、分組描述統計。最後我們要初次接觸後半單元會常用到的管道運算子%>%

6.1 認識tidyverse

官方網站:https://www.tidyverse.org/

dplyr package

ggplot2 package

這個單元會學到的函式:

  • select() Include or exclude certain variables (columns)
  • filter() Include or exclude certain observations (rows)
  • mutate() Create new variables (columns)
  • arrange() Change the order of observations (rows)
  • group_by() Organize the observations into groups
  • summarise() Derive aggregate variables for groups of observations

6.2 練習1:起始設定

5.4區塊內的套件,填寫在“Assignment.Rmd”的setup chunk,knit測試有沒有問題。

6.3 babynames資料庫

這套資料庫紀錄從1880~2017年,美國每年新生兒的姓名人次。

6.4 練習2: 預覽資料

在“Assignment.Rmd”練習2預備的R chunk,呼叫babynames

6.5 練習3: 姓名熱門度歷史趨勢視覺化

  • 提示 %>% 管頭運算子
  • 提示 %in% 匹配運算子

Figure 5.1 四個女嬰姓名

Figure 5.2 四個嬰兒姓名,依性別分組

Figure 5.3 另外四個嬰兒姓名,依性別分組

6.6 練習4: 選擇想要的變項

認識select()的用途

6.7 練習5: 資料排序

認識arrange()的用途

6.8 練習6: 過濾有需要的資料

認識filter()的用途;常用的各種邏輯運算子

6.9 練習7: 製造新變項

認識mutate()的用途

標記年代的分解動作

1880:1889/10
floor(1880:1889/10)
floor(1880:1889/10)*10

6.10 練習8: 分組描述統計

描述統計常用函式

log(x)            ##自然對數  
exp(x)            ##自然指數  
max(x)            ##最大值
min(x)            ##最小值
round(exp(x), 2)  ##顯示數值到小數點第2位
signif(log(x), 3) ##小數點第3位起簡寫數值
quantile(x)       ##百分位數
rank(x)           ##次序位數
sum(x)            ##總和  
mean(x)           ##平均
median(x)         ##中位數
var(x)            ##樣本變異數
sd(x)             ##樣本標準差
cor(x,y)          ##相關

認識summarise()group_by()的用途

運用練習3建立的dat演練描述統計~只有Alexandra, Beverly, Emily, Kathleen四個名字

運用練習7建立的new_dat演練描述統計

6.11 練習9: 管道運算子

練習8的dat描述統計程式碼,使用管道運算子%>%串成一行。

課後演練:練習8的new_dat描述統計程式碼,使用管道運算子%>%串成一行。