R 语言与 Excel 之数据分析功能比较

我从事数据分析工作已经有十年之久。最初是出于工作需要,我的经理给我一堆数据,我需要处理这些数据。当时我一直使用的工具是 Excel,因为这是我熟练掌握的一款工具。三年前,我开始接触到 R,一开始因为功能太多而坚决抵制使用。后来我开始琢磨如何使用。现在我基本不怎么使用 Excel 了。这只是我个人的观点,但是如果你要分析数据,R 更胜任这项任务。下面来说说为什么 R 更适合数据分析。

这两款工具的使用方法截然不同。使用 Excel 时,可以通过鼠标点击完成大部分工作,你可以访问界面内不同位置的各种工具。因此 Excel 非常便于使用(熟能生巧),但是用 Excel 处理数据非常费时,而且如果接手一个新项目,你必须单调地重复这些流程。使用 R 时,则通过代码完成所有操作。你把数据载入内存,然后运行脚本来研究并处理数据。这个工具可能不够人性化,但是有以下几点好处。

我认为,从概念上来说,R 更便于使用。如果你在处理多列数据,虽然你只是在处理单个任务,但是却会看到所有的数据。而使用 R 时,数据都在内存中,只有调出数据才能看到。如果你在转换或计算,你会处理相关列或行的子集,其他所有数据都在后台。我觉得这样更便于关注手头的任务。完成任务后,可将其保存在某个数据帧中,其中只包含所需的列或行数据。你建立了正确的数据集,可解决当前的问题。这样做看似无关紧要,但实际上大受裨益。

借助 R,就可以对其他数据集轻松重复相同的操作。因为所有数据都是通过代码进行处理和研究,因此对新的数据集执行相同的操作也就轻而易举了。使用 Excel 时,大多数操作都是通过鼠标点击实现,虽然用户体验不错,但对新的数据重复操作却非常费时而枯燥。而 R 只需载入新的数据集,然后再次运行脚本即可。

实际上,用代码操作也便于诊断并共享你的分析结果。使用 Excel 时,大多数的分析结果都基于内存(数据透视表在这里,公式编辑器在另一个表格上等)。而在 R 中,通过代码执行所有操作,一目了然。如果你在修正一个错误,你很清楚在哪里操作,而如果你需要共享分析结果,只需复制粘贴代码即可。在线查找帮助时,你能准确说明所用数据,并提出具体的问题。事实上,大多数时候,你在线提问时,人们都是直接贴出准确的代码,来解决你的问题。

R 中的项目组织更简单。在Excel 中,我要准备一系列表格,可能还要准备多个工作簿,然后适当命名,而且各文件名不得重复。我的项目备注分别保存在各个文件中。我的R语言项目组织单独设有一个文件夹,我处理过的所有内容都放在其中。清理数据、探索性图表及模型。这样便于我理解和查找,也为与我一起工作的其他人提供方便。当然,Excel 也能做到井井有条。我觉得 R 的简洁性更便于使用。

上述几点只能说是锦上添花,而并不是必不可少。在没有这些功能之前,我也用了好几年 Excel,你应该也一样。现在,我想讲讲 R 和 Excel 真正的区别。我想说的是,除了以上那些花哨的小优势之外,R 更适合用于数据分析。原因如下。

你可以把任何数据载入 R。数据的保存位置或保存形式并不重要。你可以载入 CSV 文件,也可以读取 JSON,或者执行 SQL 查询,抑或提取网站。你甚至还可以在 R 中通过 Hadoop 处理大数据。

R 是一个完整的工具集,使用的是数据包。在分析数据时,R 比 Excel 更实用。你可使用 R执行数据管理、分类和回归,也可以处理图片,并执行其他所有操作。如果机器学习是你的专业,那能想到的任何算法都是小菜一碟。目前,R 可用的数据包逾 5,000 个,因此无论你要处理什么类型的数据,R 都能应付自如。

R 的数据可视化效果非常卓越。说句实话,Excel 的图表非常出色,简单易懂。但 R 的效果更好。我觉得这是 R 最实用的功能之一。借助 ggplot2,你可以快速创建所需的各种图表,并根据图表形状自行调整。在你熟悉了如何用 ggplot2 创建一个图表后,任何其他图表都不在话下。ggplot2 还能制作更多类型的图表。你能用 Excel 创建 散点图矩阵吗?用 R 就能轻松创建这种矩阵,CDF plot 也是如此。Excel 棋差一招。

Git 版本控制。我一向习惯保存多个版本的分析结果。Git 是至今为止我找到的最好用的工具。 用 RStudio 作为编辑器,其支持项目。创建一个项目仓库,然后你就能跟踪数据研究的不同版本。你可以创建不同版本的 Excel 文件,但是这些保存的二进制文件无法显示相互之间的更改部分。而 R 非常简单。我已经说了很多理由。总之,Excel 是一款不错的数据分析工具。我相信它能不负众望完成所有任务。但是,如果你只有这一款工具,则会大大影响你的工作效率。相比之下,R 更好用,而且提供的工具集模块更完整。而缺点在于不是非常易于上手,用户一开始相对要花很多时间学习使用。如果坚持下去,就会有所收获,不仅对数据更了解,还提高了自己的能力。

作者:Chris Leonard

原文发布于微信公众号 - 数据的力量(shujudeliliang)

原文发表时间:2015-01-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文渊之博

SQL Server2012新特性概述

公司最近要升级数据库,SQL Server 2008R2-->2012。再开始升级之前先找了点资料分析一下2012的新特性和功能,提前预热一下。 2012中主要...

20410
来自专栏软件测试经验与教训

软件质量度量

4177
来自专栏ThoughtWorks

TW洞见 | 李光磊:性能调优, 你的力气用对地方了吗?

本文为《Performance Tuning: A Comprehensive Guide》读书笔记。 做过性能调优的同学都知道,最怕的不是性能差,而是费了半...

2848
来自专栏派森公园

监控数据的采集

监控数据有多种形式--有些系统会持续地输出数据,而其他系统只会在发生罕见事件时生成数据。有些数据能够直接定位问题,有些数据能帮助调查问题。更宽泛的说,拥有监控数...

1465
来自专栏IT技术精选文摘

百亿级实时消息推送的实战经验

2113
来自专栏视频直播

世界杯直播技术揭秘及视频云直播回源系统的应用

近些年,视频直播应用蓬勃发展,带宽也是日渐新高,腾讯云旗下的视频云直播为斗鱼、快手、虎牙、龙珠、CNTV广大的企业客户提供了很大的支持,在行业内起到了引领的作用...

1423
来自专栏数据库

NoSQL为什么需要模式自由的ETL工具?

【IT168 评论】了解一个开源工具,可以有效帮助人们解决NoSQL在数据输入、处理、输出方面困难。大数据时代,不了解NoSQL数据库的程序员大抵应该是没有的吧...

21510
来自专栏PPV课数据科学社区

【聚焦】R语言与Excel约架!谁更适合做数据分析?

我从事数据分析工作已经有十年之久。最初是出于工作需要,我的经理给我一堆数据,我需要处理这些数据。当时我一直使用的工具是 Excel,因为这是我熟练掌握的一款工具...

2824
来自专栏CDA数据分析师

R语言 PK Excel,谁更适合做数据分析?

我从事数据分析工作已经有十年之久。最初是出于工作需要,我的经理给我一堆数据,我需要处理这些数据。当时我一直使用的工具是 Excel,因为这是我熟练掌握的一款工具...

2737
来自专栏靠谱PM

为什么你的原型总是改-页面流程篇

首先:上文中提到过业务流程图是从产品视角来看产品或功能,交互原型图是以用户的视角来看产品或功能,从这点上划分页面流程图也是以用户的视角来看产品或功能。

1544

扫码关注云+社区