終極對決:R 與 Excel 在數(shù)據分析當中的優(yōu)劣勢對比
我從事數(shù)據分析工作已經有十年之久。最初是出于工作需要,我的經理給我一堆數(shù)據,我需要處理這些數(shù)據。當時我一直使用的工具是 Excel,因為這是我熟練掌握的一款工具。三年前,我開始接觸到 R,一開始因為功能太多而堅決抵制使用。后來我開始琢磨如何使用。現(xiàn)在我基本不怎么使用 Excel 了。這只是我個人的觀點,但是如果你要分析數(shù)據,R 更勝任這項任務。下面來說說為什么 R 更適合數(shù)據分析。

這兩款工具的使用方法截然不同。使用 Excel 時,可以通過鼠標點擊完成大部分工作,你可以訪問界面內不同位置的各種工具。因此 Excel 非常便于使用(熟能生巧),但是用 Excel 處理數(shù)據非常費時,而且如果接手一個新項目,你必須單調地重復這些流程。使用 R 時,則通過代碼完成所有操作。你把數(shù)據載入內存,然后運行腳本來研究并處理數(shù)據。這個工具可能不夠人性化,但是有以下幾點好處。
我認為,從概念上來說,R 更便于使用。如果你在處理多列數(shù)據,雖然你只是在處理單個任務,但是卻會看到所有的數(shù)據。而使用 R 時,數(shù)據都在內存中,只有調出數(shù)據才能看到。如果你在轉換或計算,你會處理相關列或行的子集,其他所有數(shù)據都在后臺。我覺得這樣更便于關注手頭的任務。完成任務后,可將其保存在某個數(shù)據幀中,其中只包含所需的列或行數(shù)據。你建立了正確的數(shù)據集,可解決當前的問題。這樣做看似無關緊要,但實際上大受裨益。
借助 R,就可以對其他數(shù)據集輕松重復相同的操作。因為所有數(shù)據都是通過代碼進行處理和研究,因此對新的數(shù)據集執(zhí)行相同的操作也就輕而易舉了。使用 Excel 時,大多數(shù)操作都是通過鼠標點擊實現(xiàn),雖然用戶體驗不錯,但對新的數(shù)據重復操作卻非常費時而枯燥。而 R 只需載入新的數(shù)據集,然后再次運行腳本即可。
實際上,用代碼操作也便于診斷并共享你的分析結果。使用 Excel 時,大多數(shù)的分析結果都基于內存(數(shù)據透視表在這里,公式編輯器在另一個表格上等)。而在 R 中,通過代碼執(zhí)行所有操作,一目了然。如果你在修正一個錯誤,你很清楚在哪里操作,而如果你需要共享分析結果,只需復制粘貼代碼即可。在線查找?guī)椭鷷r,你能準確說明所用數(shù)據,并提出具體的問題。事實上,大多數(shù)時候,你在線提問時,人們都是直接貼出準確的代碼,來解決你的問題。
R 中的項目組織更簡單。在 Excel 中,我要準備一系列表格,可能還要準備多個工作簿,然后適當命名,而且各文件名不得重復。我的項目備注分別保存在各個文件中。我的 R 項目組織單獨設有一個文件夾,我處理過的所有內容都放在其中。清理數(shù)據、探索性圖表及模型。這樣便于我理解和查找,也為與我一起工作的其他人提供方便。當然,Excel 也能做到井井有條。我覺得 R 的簡潔性更便于使用。
上述幾點只能說是錦上添花,而并不是必不可少。在沒有這些功能之前,我也用了好幾年 Excel,你應該也一樣?,F(xiàn)在,我想講講 R 和 Excel 真正的區(qū)別。我想說的是,除了以上那些花哨的小優(yōu)勢之外,R 更適合用于數(shù)據分析。原因如下。
你可以把任何數(shù)據載入 R。數(shù)據的保存位置或保存形式并不重要。你可以載入 CSV 文件,也可以讀取 JSON,或者執(zhí)行 SQL 查詢,抑或提取網站。你甚至還可以在 R 中通過 Hadoop 處理大數(shù)據。
R 是一個完整的工具集,使用的是數(shù)據包。在分析數(shù)據時,R 比 Excel 更實用。你可使用 R 執(zhí)行數(shù)據管理、分類和回歸,也可以處理圖片,并執(zhí)行其他所有操作。如果機器學習是你的專業(yè),那能想到的任何算法都是小菜一碟。目前,R 可用的數(shù)據包逾 5,000 個,因此無論你要處理什么類型的數(shù)據,R 都能應付自如。

R 的數(shù)據可視化效果非常卓越。說句實話,Excel 的圖表非常出色,簡單易懂。但 R 的效果更好。我覺得這是 R 最實用的功能之一。借助 ggplot2,你可以快速創(chuàng)建所需的各種圖表,并根據圖表形狀自行調整。在你熟悉了如何用 ggplot2 創(chuàng)建一個圖表后,任何其他圖表都不在話下。ggplot2 還能制作更多類型的圖表。你能用 Excel 創(chuàng)建散點圖矩陣嗎?用 R 就能輕松創(chuàng)建這種矩陣,CDF plot 也是如此。Excel 棋差一招。
Git 版本控制。我一向習慣保存多個版本的分析結果。Git 是至今為止我找到的***用的工具。我使用 RStudio 作為編輯器,其支持項目。創(chuàng)建一個項目倉庫,然后你就能跟蹤數(shù)據研究的不同版本。你可以創(chuàng)建不同版本的 Excel 文件,但是這些保存的二進制文件無法顯示相互之間的更改部分。而 R 非常簡單。
我已經說了很多理由??傊?,Excel 是一款不錯的數(shù)據分析工具。我相信它能不負眾望完成所有任務。但是,如果你只有這一款工具,則會大大影響你的工作效率。相比之下,R 更好用,而且提供的工具集模塊更完整。而缺點在于不是非常易于上手,用戶一開始相對要花很多時間學習使用。如果堅持下去,就會有所收獲,不僅對數(shù)據更了解,還提高了自己的能力。