Hello大家好,我是小鵝醬!
對於在美留學的商科小夥伴來講,Python和R都並不陌生。作為在國內接觸較少的程式語言,從0開始的學習過程也讓許多留學生茫然無措。希望我自身的經歷分析,能給正在學習和準備學習數據分析或者R語言的同學們,提供一些值得借鑑的信息。
萬事開頭難。就算是簡單的寫作業,許多人也會在翻開練習冊與落筆中間苦苦掙扎。
我對於R語言的認知,就像是剛學了二元一次方程去看微積分,除了下載R和RStudio完全無從下手。剛到美國的陌生環境,以及暑期學期稍重的課程安排,更加擴大了我對未知領域的畏懼。當時的我沒有考慮過究竟是它太難、進入門檻太高,還是我始終不敢邁出第一步。
留學生常戲說的「Deadline是第一生產力」在這時體現了出來。即便面對編程我有些稍顯退縮,但完成作業的時限在逐漸臨近,我不得不開始面對。
所幸,老師在課堂上的授課內容十分詳盡,最開始幾節課的簡單統計學知識也在大學期間早有接觸,跟著例題操作學習並沒有想像的複雜。
與授課內容不同的是,網上學習內容更加生活化,實用性也更強。大家可以按以下的步驟做簡單的 Intro:
Step 1: 數據導入
不同格式的表格需要不同的代碼導入,(當然也有如下圖的簡便方式)。當文件路徑不能讀出表格中變量時,用summary讀取總結也是一種簡便的操作方式
Step 2:數據清洗
在實際生活中,多數情況的數據都需要先做清洗工作,排除異常值、空白值、無效值、重複值等等。R的數據清洗可用的方式很多,boxplot去掉異常值或者直接命名subset為新的指標都能夠讓數據更加清晰。
Step 3:數據整理
清洗後還需要進行數據整理,這是為了更加方便對目標問題的進一步分析。針對不同的雜亂數據特徵又對應處理函數:
1.列名是值(value)而不是變量(var) ---gather
2.變量同時存在行和列中 ---spread
3.多個變量位於同一列 ---seperate
4.合併/拆分不同表中觀測值---seperate+unite
建立體系的時間或許會比較久,但是系統的自學可以讓大家更加了解R,也更明白自己的每一步操作有什麼樣的目的。理順脈絡比起死記硬背永遠更加高效!
當能夠複製內容,或者更改數字和對象時,我們僅僅是記住了相關的知識,而數據清洗整理也僅僅是常規工作的一部分。只有不斷重複這個過程,才能完成所謂「量變到質變」,有真正能力上的提升。
這個過程無疑是枯燥的。不同的數據表有不同的「脾性」,如果不夠了解數據屬性或者數據處理不完善,就會導致一行行紅色的錯誤提示,難以得到需要的結果。
不過R的複雜也會帶來相對更高的成就感,我的成就感就來源於數據可視化的部分。當簡單的灰白圖例變成彩色,Excel中的組合圖表用代碼展現出來,甚至通過ggmap在分類後加入地圖來直觀表現時,我甚至有把輸出圖都列印再收集起來的衝動。
在不斷嘗試中,我找到了兩個對我而言最有效的方法:
01
從GitHub中找例子和數據,分析代碼,再複製,然後把學習過的函數一一應用
Tips:
這種方法的優勢在於會有現成的例子提供給你學習,自己操作,再比較給出的原始碼改進,實操+反思+改進的形式能更好地加強我的記憶力。
Tips:
通過筆記輔助,加上自學時的基礎,這並不困難,也更能看到成果。在讀完一本書時,可以自信地表示我真的讀懂了它,而不僅僅是看了就過了。
重複學習的時間比較漫長,我現在也仍在學習中,的確,進步並沒有那麼明顯。但,如果你覺得困難,你應該高興,這代表你正在進步~
在更了解R之後,我發現許多與數據相關的任務都可以通過它解決。分析Uber和Lyft的接單數據,InsideSherpa上的案例項目,包括電力市場的基本分析,或簡單或複雜,我開始逐漸習慣用R解決問題。
不可否認,有事簡單的數據用Excel更加高效,但是R會給我帶來更多樂趣樂趣。簡單的顏色代碼使用都能讓我反覆試驗,試圖找到最和諧的顏色;通過不同的cluster(簇)尋找數據規律也讓我自己覺得更像一名分析師。
任務對我而言不再是負擔,我把它當作一種樂趣。就像是走迷宮,當你不再覺得畏懼,並且相信通過嘗試一定能成功時,出口並沒有那麼遠。當然,正確的方法會節省你走出迷宮的時間,但是試圖依靠別人的指引走完全程的話,還是會被困在下一個迷宮裡。
其實數據分析沒有想像的那麼困難,Excel到R也不是了不起的進階,但是敢於開始、找對方法、然後重複嘗試、主動應用,才能真正地「熟練掌握」一項技能。
隨著數據分析的應用愈發廣泛,數據處理與呈現逐漸從專業技能變為通識性技能,甚至成為許多崗位的必要技能或者求職加分項。所以,還在學校、有更多時間的我們,為什麼不從今天就開始,了解數據,享受分析,感受進步,然後「編程」一個更好的自己?