1. 程式人生 > >資料分析,你是選擇R語言還是excel呢?

資料分析,你是選擇R語言還是excel呢?

我從事資料分析工作已經有十年之久。最初是出於工作需要,我的經理給我一堆資料,我需要處理這些資料。當時我一直使用的工具是Excel,因為這是我熟練掌握的一款工具。三年前,我開始接觸到R,一開始因為功能太多而堅決抵制使用。後來我開始琢磨如何使用。現在我基本不怎麼使用Excel了。

  這只是我個人的觀點,但是如果你要分析資料,R更勝任這項任務。下面來說說為什麼R更適合資料分析。

1465571460-4660-2081.jpg

  這兩款工具的使用方法截然不同。使用Excel時,可以通過滑鼠點選完成大部分工作,你可以訪問介面內不同位置的各種工具。因此Excel非常便於使用(熟能生巧),但是用Excel處理資料非常費時,而且如果接手一個新專案,你必須單調地重複這些流程。使用R時,則通過程式碼完成所有操作。你把資料載入記憶體,然後執行指令碼來研究並處理資料。這個工具可能不夠人性化,但是有以下幾點好處。

  我認為,從概念上來說,R更便於使用。如果你在處理多列資料,雖然你只是在處理單個任務,但是卻會看到所有的資料。而使用R時,資料都在記憶體中,只有調出資料才能看到。如果你在轉換或計算,你會處理相關列或行的子集,其他所有資料都在後臺。我覺得這樣更便於關注手頭的任務。完成任務後,可將其儲存在某個資料幀中,其中只包含所需的列或行資料。你建立了正確的資料集,可解決當前的問題。這樣做看似無關緊要,但實際上大受裨益。

  藉助R,就可以對其他資料集輕鬆重複相同的操作。因為所有資料都是通過程式碼進行處理和研究,因此對新的資料集執行相同的操作也就輕而易舉了。使用Excel時,大多數操作都是通過滑鼠點選實現,雖然使用者體驗不錯,但對新的資料重複操作卻非常費時而枯燥。而R只需載入新的資料集,然後再次執行指令碼即可。

1465571460-4040-2081.jpg

  實際上,用程式碼操作也便於診斷並共享你的分析結果。使用Excel時,大多數的分析結果都基於記憶體(資料透視表在這裡,公式編輯器在另一個表格上等)。而在R中,通過程式碼執行所有操作,一目瞭然。如果你在修正一個錯誤,你很清楚在哪裡操作,而如果你需要共享分析結果,只需複製貼上程式碼即可。線上查詢幫助時,你能準確說明所用資料,並提出具體的問題。事實上,大多數時候,你線上提問時,人們都是直接貼出準確的程式碼,來解決你的問題。

  R中的專案組織更簡單。在Excel中,我要準備一系列表格,可能還要準備多個工作簿,然後適當命名,而且各檔名不得重複。我的專案備註分別儲存在各個檔案中。我的R專案組織單獨設有一個資料夾,我處理過的所有內容都放在其中。清理資料、探索性圖表及模型。這樣便於我理解和查詢,也為與我一起工作的其他人提供方便。當然,Excel也能做到井井有條。我覺得R的簡潔性更便於使用。

  上述幾點只能說是錦上添花,而並不是必不可少。在沒有這些功能之前,我也用了好幾年Excel,你應該也一樣。現在,我想講講R和Excel真正的區別。我想說的是,除了以上那些花哨的小優勢之外,R更適合用於資料分析。原因如下。

6.jpg

  你可以把任何資料載入R。資料的儲存位置或儲存形式並不重要。你可以載入CSV檔案,也可以讀取JSON,或者執行SQL查詢,抑或提取網站。你甚至還可以在R中通過Hadoop處理大資料。

  R是一個完整的工具集,使用的是資料包。在分析資料時,R比Excel更實用。你可使用R執行資料管理、分類和迴歸,也可以處理圖片,並執行其他所有操作。如果機器學習是你的專業,那能想到的任何演算法都是小菜一碟。目前,R可用的資料包逾5,000個,因此無論你要處理什麼型別的資料,R都能應付自如。

  R的資料視覺化效果非常卓越。說句實話,Excel的圖表非常出色,簡單易懂。但R的效果更好。我覺得這是R最實用的功能之一。藉助ggplot2,你可以快速建立所需的各種圖表,並根據圖表形狀自行調整。在你熟悉瞭如何用ggplot2建立一個圖表後,任何其他圖表都不在話下。ggplot2還能製作更多型別的圖表。你能用Excel建立散點圖矩陣嗎?用R就能輕鬆建立這種矩陣,CDFplot也是如此。Excel棋差一招。

  Git版本控制。我一向習慣儲存多個版本的分析結果。Git是至今為止我找到的最好用的工具。我使用RStudio作為編輯器,其支援專案。建立一個專案倉庫,然後你就能跟蹤資料研究的不同版本。你可以建立不同版本的Excel檔案,但是這些儲存的二進位制檔案無法顯示相互之間的更改部分。而R非常簡單。

  我已經說了很多理由。總之,Excel是一款不錯的資料分析工具。我相信它能不負眾望完成所有任務。但是,如果你只有這一款工具,則會大大影響你的工作效率。相比之下,R更好用,而且提供的工具集模組更完整。而缺點在於不是非常易於上手,使用者一開始相對要花很多時間學習使用。如果堅持下去,就會有所收穫,不僅對資料更瞭解,還提高了自己的能力。