三月另一個開始的活動,是R User Group 辦的Machine Learning for Beginners。共四堂,暫時上了一半,雖然不幸收工前總有意外,兩次都錯過了開頭的部份,還好有source code 看著理解,和對基本的統計總算仍有概念,
第一堂主是R 的數據處理。主要用"tidyverse"套件包,"tidyverse"是打包了一組有著共同資料形態和'API'設計,方便一齊使用的套件。透過"tidyverse"處理這些套件的 install (core + select) 和 load (core)的工序。當晚用到的主要指令包括來自 "magritti" 的 piping operator %>%,可以將一個output當做另一個指令的1st input,這個比起要括號配對括號的寫法的確方便很多。另外,還有來自 "dplyr" 的6個指令,包括'select', 'filter', 'arrange', 'mutate', 'group_by', 'summarise' 。在dataframe的數據處理上算十分方便。還有n, top_n, tally等一起使用。之後我把這用在處理問卷資料上已比去年方便得多了。
- select: 根據給定的變數名稱選擇column
- filter: 根據設定的條件做篩選row
- arrange: 根據選定的變數內容做排列
- mutate: 根據給定的值賦予新變數,或是變更舊變數
- group_by: 根據給定變數做group,以銜接summarise
- summarise: 資料整併
這些專門處理dataframe的數據,tidyverse有一個叫lubridate的套件處理日期時間,但另一方面自己所仍要找尋xts, zoo 等財務上時間序列的處理方法。見到有另一個"tidyquant"的套件,大概之後可以一試。
"tidyverse"的介紹和教學可以到:
- https://blog.rstudio.org/2016/09/15/tidyverse-1-0-0/
- http://r4ds.had.co.nz/model-basics.html