先前的文章中提及,我是從前一份工作當中發展出對資料科學程式語言的興趣。可是,資料科學與程式語言並非完全重疊的兩項專業,而我個人的學習歷程是:
1.
對資料分析產生興趣 →
2.
對資料科學產生興趣 →
3.
進一步瞭解了資料科學 →
4.
開始學習程式語言 →
5.
開始尋找資料科學相關工作與所需技能 →
6.
開始學習資料庫
根據上述先後順序,我是因為想進一步學習資料科學的實作技術,才去學習程式語言。然而在當今的業界環境當中,除非是在大型、且分工非常專業明確的工作團隊,否則要從事資料科學、數據分析相關工作,幾乎都需要具備一定程度的程式語言底子,為了夢想,值得學習程式語言。
Python vs. R
如前文所述,我的最終目標,是想從事資料科學相關工作,再更明確定義,主要是有關統計分析、作業研究、資料採礦、與資料視覺化的工作。開源的 Python、R 都是很好選擇,而在自行做過功課比較過該兩種語言的特色及優缺之後,我個人選擇從R起家,這麼做的原因有三:
1. 我的目的是專精在數據分析,Python 雖然易學性及程式的可讀性高,且應用的層面十分廣泛,但若要強調數據分析這個目的性,則 R 的「專門性」又高過於 Python。
2. 無論是在綜合應用或者資料科學領域,程式語言的使用者當中,Python 的使用者都是相對較多的。既然這麼多人都在用 Python,而且用得比我好的人還很多,那我何樂不專注在 R 上面,做出自己的專業區隔性,而不是去擠那個競爭者較多的市場?
3. R 的語法以及套件使用方式,與 MS EXCEL 非常相像。這使得我很容易用類比的概念來學習 R。比起 Python,我能夠更快的熟悉 R 的基本環境與操作方式。
選擇教材資源
在瞭解自己該專注於哪種工具之後,接著就是專注在學習上。一如我在另一篇文章中提過,我的學習方式一向都是從免費資源當中,摸索、篩選、並發展出最適合我自己的學習方式。以下則是我個人十分推薦的教材:
一如 Python 與 R 的使用者比例,在台灣坊間的繁體中文紙本教科書當中,以 R 為主題的教材,明顯的要比以 Python 為主題的少。且這些紙本教材當中,除了難度與內容編排的易讀性參差不齊之外,多數集中在金融領域上的應用。而這本,則是紮實地介紹到 R 的各項基本功,並且以任務導向的編排方式,講解最常見的應用問題及解決方案。如果今天要跟朋友介紹一本學習 R 基本功的紙本教材,那我非這本不推。
這是一本國外的原文教材,在Amazon.com上頭有販售實體書版本,而作者很佛心地提供開源的網頁版。該教材主要專注R語言在資料視覺化方面的實作。內容深度的設計上,恰好適合已經有點 R 語言基礎,而想要往資料視覺化領域專精發展的使用者。
前文提及的《R for Data Science》一書雖然在資料視覺化方面有相當豐富的介紹,但是在資料採礦、機械學習、數值分析的方面的內容,則略顯不足。該網站則恰當地弭補了這一點。一樣是適合已經有點R語言基礎的使用者,想繼續往相關領域發展的使用者。
我相信沒有一位 R 的使用者會不知道 R-bloggers 與 RStudio。如果說 Stack
Overflow 是所有程式人的集體智慧,那麼 R-bloggers 則在 R 的使用者社群當中擔任同等重要的角色, RStudio 則提供 R 的使用者一個完整且良好的 IDE 與熱門套件相關支援資訊。無論是初學者或者是已經有點功力的使用者,都可以在這兩個網站上更加精進R語言的功夫。
小結
本篇主要在分享,作為資料科學初心者的我,為何選擇以 R 作為起手的工具,以及透過哪些資源來學習 R 語言。上述所提及的學習資源,我也都在本部落格的選單當中設置快速連結。
另外,我想分享一個在學習 R 語言時候的一個小趣事:每次我在使用 library() 這個函數來呼叫其他套件的時候,我都會想像成這是知名日本動漫《HUNTER×HUNTER》裡頭的庫洛洛在使用他的念能力「盜賊的筆記」(スキルハンター)。(就是翻開書本,然後召喚出某項能力出來使用XD)