第 6 週 05_資料清理技巧(上)
[dplyr](https://dplyr.tidyverse.org/)
,[ggplot2](https://ggplot2.tidyverse.org/)
的開發者有說明網站,程式碼有用到這些函式但遇到卡關的話,可先從說明網站找找可行範例。
單元5的作業檔案改編自“stub-wrangling-1.Rmd”。
這個單元我們透過美國新生兒姓名統計資料庫babynames
,認識如何使用dplyr
及ggplot2
套件的函式初窺資料、選擇變項、排序及過濾資料、創建新變項、分組描述統計。最後我們要初次接觸後半單元會常用到的管道運算子%>%
。
6.1 認識tidyverse
官方網站:https://www.tidyverse.org/
這個單元會學到的函式:
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 groupssummarise()
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
描述統計程式碼,使用管道運算子%>%
串成一行。