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

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

Excel界面 我认为,从概念上来说,R更便于使用。如果你在处理多列数据,虽然你只是在处理单个任务,但是却会看到所有的数据。而使用R时,数据都在内存中,只有调出数据才能看到。如果你在转换或计算,你会处理相关列或行的子集,其他所有数据都在后台。我觉得这样更便于关注手头的任务。完成任务后,可将其保存在某个数据帧中,其中只包含所需的列或行数据。你建立了正确的数据集,可解决当前的问题。这样做看似无关紧要,但实际上大受裨益。 借助R,就可以对其他数据集轻松重复相同的操作。因为所有数据都是通过代码进行处理和研究,因此对新的数据集执行相同的操作也就轻而易举了。使用Excel时,大多数操作都是通过鼠标点击实现,虽然用户体验不错,但对新的数据重复操作却非常费时而枯燥。而R只需载入新的数据集,然后再次运行脚本即可。 实际上,用代码操作也便于诊断并共享你的分析结果。使用Excel时,大多数的分析结果都基于内存(数据透视表在这里,公式编辑器在另一个表格上等)。而在R中,通过代码执行所有操作,一目了然。如果你在修正一个错误,你很清楚在哪里操作,而如果你需要共享分析结果,只需复制粘贴代码即可。在线查找帮助时,你能准确说明所用数据,并提出具体的问题。事实上,大多数时候,你在线提问时,人们都是直接贴出准确的代码,来解决你的问题。 R中的项目组织更简单。在Excel中,我要准备一系列表格,可能还要准备多个工作簿,然后适当命名,而且各文件名不得重复。我的项目备注分别保存在各个文件中。我的R语言项目组织单独设有一个文件夹,我处理过的所有内容都放在其中。清理数据、探索性图表及模型。这样便于我理解和查找,也为与我一起工作的其他人提供方便。当然,Excel也能做到井井有条。我觉得R的简洁性更便于使用。 上述几点只能说是锦上添花,而并不是必不可少。在没有这些功能之前,我也用了好几年Excel,你应该也一样。现在,我想讲讲R和Excel真正的区别。我想说的是,除了以上那些花哨的小优势之外,R更适合用于数据分析。 原因如下: 你可以把任何数据载入R。数据的保存位置或保存形式并不重要。你可以载入CSV文件,也可以读取JSON,或者执行SQL查询,抑或提取网站。你甚至还可以在R中通过Hadoop处理大数据。

R工具界面 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更好用,而且提供的工具集模块更完整。而缺点在于不是非常易于上手,用户一开始相对要花很多时间学习使用。如果坚持下去,就会有所收获,不仅对数据更了解,还提高了自己的能力。(Via:译言网)

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-03-19

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我的博客

面试和笔试汇总

最近忙着找工作,也没有更新博客,今天一个朋友让我赶紧把博客更新下,说说最近的面试情况也可以好给他们一个参考,这就整理出来给大家分享~~ 笔试题目公开 get和p...

3306
来自专栏禅林阆苑

USTC高级软件工程课程学习心得 【原创】

USTC高级软件工程课程学习心得 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github...

3206
来自专栏BestSDK

从初创到BAT,都必须遵守的4个用户体验设计细节

启动页 当用户打开 app 时,最不能做的事情就是让他们等待。但是如果 app 的初始设置非常耗时,又不可能优化该怎么办?你不得不让用户等。如果他们愿意等,你得...

2654
来自专栏练小习的专栏

抽象组件库的可行性讨论

首先这篇博文不是教程也不是研究技术技巧,这只是我对目前我正在着手写的一个组件库的一些想法,以及我对当前主流的这些css框架的一些看法。 当前的一些主流css框架...

1975
来自专栏我和PYTHON有个约会

Django来敲门[升级版]-0000-概述web概述课程介绍开发环境写在前面:

web软件,是软件发展过程中最重要也是代表了将来软件应用的一种趋势。 对于web软件的开发来说,传统意义上的java语言、php语言、ruby语言都是web软...

562
来自专栏Golang语言社区

Go1.7改善了编译速度并且会生成更快的代码

Go1.7的开发周期正在接近它的下一个里程碑,Go的提交者Dave Cheney报告了子即将发布的版本中,团队成员在语言工具链上的努力。 Cheney称,基于当...

3359
来自专栏aCloudDeveloper

virtio 简介

我的微信公众号 aCloudDeveloper 专注于云计算技术,互联网技术,生活感悟,打造干货分享平台,每周至少一更,欢迎小伙伴们多多关注! 什么是 vir...

3672
来自专栏Crossin的编程教室

input vs raw_input

今天是教师节,祝老师们节日快乐。然后,今早,我居然也收到了祝福。。。暗自窃喜。 把之前有几篇不属于课程系列的文章整理了一下,回复 w 可以看到文章列表。包括罚点...

28511
来自专栏编程派的专栏

提升 Python 编程效率的十点建议

程序员的时间很宝贵,Python这门语言虽然足够简单、优雅,但并不是说你使用Python编程,效率就一定会高。要想节省时间、提高效率,还是需要注意很多地方的。 ...

1K0
来自专栏企鹅号快讯

Web前端开发初级阶段需要学习的知识有哪些?

今天来和大家讲讲Web前端开发需要学习什么?前端开发又需要用到哪些开发工具?下面济南IT培训优就业的老师就简单和大家介绍一下。 ? Web前端工程师其实在不同的...

17810

扫码关注云+社区