内容简介:10个令人相见恨晚的R语言包
2017-06-06 10:21 浏览次数:3
大数据热火朝天的时代, 大数据技术 也成为香饽饽,收到研发的青睐、下面主要为大家介绍R语言。大约3年前我开始使用R,起初进展很慢,与我习惯的语言相比,语法更加直观也比较简单,而且需要一段时间才能习惯于细微的差别。我还不清楚语言的力量与社区和各种包的密切关系。
和其他语言(比如 Python 和Java)相比,R可以更模糊和麻烦。好消息是,有大量的包可以在R基础库上提供简单和熟悉的界面。这篇文章是我喜欢和每天使用的10个包,并且我希望自己能早些知道他们。
1. sqldf
R语言学习曲线中最陡峭的一部分就是语法,我花了一段时间才习惯使用<-代替=。我听到很多人问如何实现VLOOKUP?!?R 对于一般的数据粗加工任务非常有用,但需要一段时间才能掌握。可以认为sqldf是我的R”辅助轮子”。 sqldf让你在R数据框上执行 SQL 查询。来自SAS的人会发现它非常熟悉,任何具有基本SQL技能的人都可以轻松的使用它—sqldf使用 SQLite 语法。
如果你喜欢sqldf,可以使用pandasql包来查询pandas中的DataFrame,通过SQL。
2. forecast
我不经常做时间序列分析,但是当我做的时候forecast包是我的选择。forecast对ARIMA,ARMA,AR,指数平滑等时间序列模型的预测简单的令人难以置信。
我最喜欢的特性是产生预测的时序图。
3. plyr
当我第一次使用R时,我用基本的控制运算来操纵数据(for, if, while, etc.)。我很快知道这是一个业余的做法,并且有更好的方法去实现。
在R中,apply函数族是在对列表或者向量每个元素调用函数的首选方法。虽然R基础库中有这些函数,但它们的使用可能难以掌握。我发现plyr包 是一个对R基础库中诸如split,apply, combine的泛函的更好用的替代。
plyr 给予你一些函数 (ddply, daply, dlply, adply, ldply)按照常见的蓝图:将数据结构分组拆分,对每个组应用一个函数,将结果返回到数据结构中。
ddply 拆分一个数据框(data frame)并且返回一个数据框 (所以是 dd)。 daply 拆分一个数据框并且返回一个数组(array) (所以是 da)。希望你明白这个想法。 译者注:plyr包包含了12个命名与功能相关的函数,均以..ply命名,第一个.表示输入的数据类型(a数组 d数据框 l列表),第二个.表示输出的数据类型(_表示不输出)
4. stringr
我发现R基础库的字符串功能使用起来非常困难和麻烦。Hadley Wickham编写的另一个包, stringr,提供了一些非常需要的字符串运算符。很多函数使用那些做基础分析时不常用的数据结构。
stringr 非常易于使用。几乎所有的(和所有的重要功能)都以”str”为前缀,所以很容易记住。
每个人(包括我自己)开始的时候都会这样做。你刚在首选的 SQL 编辑器中写了一个很棒的查询。一切都是完美的—列名都是snake case(译者注:表示单词之间用下划线连接。单词要么全部大写,要么全部小写。),日期有正确的数据类型,最后调试出了"must appear in the GROUP BY clause or be used in an aggregate function"的问题。你现在准备在R中进行一些分析,因此你可以在SQL编辑器中运行查询,将结果复制到csv(或者……xlsx)并读入R,你并不需要这样做!
R对于几乎每一个可以想到的数据库都有好的驱动。当你在偶尔使用不具有独立驱动程序的数据库(SQL Server)时,你可以随时使用RODBC。
下次你完成了完美的查询后,只需要粘贴到R里面,即可使用 RPostgreSQL, RMySQL,RMongo, SQLite, 或 RODBC执行。不仅可以避免生成数以百计的CSV文件,在R中运行查询还可以节省I/O和转换数据类型的时间。日期,时间等会自动设置为R中的等价表示。它还使你的R脚本可重复,因此你或你团队中的其他人可以轻松获得相同的结果。
6. lubridate
在R中处理日期我从来没有幸运过。我从来没有完全掌握用POSIXs和R内建日期类型合作的方法。请用 lubridate。
lubridate 是那些似乎完全按照你期望的神包之一。这些函数都有易懂的名字如 year,month, ymd, 和 ymd_hms。对于熟悉javascript的人来说,它类似于Moment.js 。
这是我在一篇文章发现的非常方便的参考卡片。它涵盖了你处理日期时可能想要做的一切事情。 我还发现了这个日期速查表也可以作为一个方便的参考。
7. ggplot2
另一个Hadley Wickham的包,也许是他最知名的一个。 ggplot2在每个人“喜爱的R包”的列表中排名很高。 它很容易使用,并且产生一些很好看的图像。 这是介绍你的工作的好方法,有很多资源可以帮助你开始使用。
ggplot2:数据分析与图形艺术 by Hadley Wickham (Amazon)
从Excel到ggplot的罗塞塔石碑 (Yaksis Blog)
Hadley Wickham在Google的ggplot2演讲 (youtube)
R数据可视化手册 by Winston Chang (Amazon)
8. qcc
qcc 是用于 统计质量控制的库。 早在上世纪五十年代,现已不复存在的西方电气公司正在寻找一种更好检测电话线和电线问题的方法。他们提出了一系列 规则 来帮助识别有问题的线。规则观察一系列数据点的历史平均值,并且基于标准差的偏差,该规则有助于判断一组新的点是否经历均值漂移。
典型的例子是监控生产 螺母的机器。假设机器应该生产2.5英寸长的螺母。我们测量一系列的螺母: 2.48, 2.47, 2.51, 2.52, 2.54, 2.42, 2.52, 2.58, 2.51。机器出故障了吗?很难说,但上述规则可以帮助描述。
虽然你可能不会监控电话线,qcc可帮你监控你网站的交易量,数据库的访问者或者登录名,以及其他许多流程。
9. reshape2
我经常发现,任何分析中最难的部分是把数据转化成正确的格式。 reshape2 正是Hadley Wickham的另一个软件包,专门用于 “宽”数据表 和“窄”数据表 的转换。我一般会和ggplot2 及 plyr一起使用它。
这是一个快速查看数据集并且获得转接的方法。你可以使用 melt 函数将宽数据转换为窄数据, 使用 dcast 将窄数据转换为宽数据。
10. randomForest
如果这个列表不包括至少一个能你的朋友震惊的机器学习包就不会完整。随机森林 是一个很好的算法。它很容易使用,可以进行监督学习或者无监督学习,它可以与许多不同类型的数据集一起使用,但最重要的是它的高效率!这是它在R中的使用方法。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 10个令人相见恨晚的R语言包
- 10个令人相见恨晚的R语言包
- 相见恨晚的 Erlang
- 相见恨晚的 Lodash 函数:Object
- 爱了!安利一个相见恨晚的可视化学习网站
- 10个让你相见恨晚的iOS Swift动画框架!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Transcending CSS
Andy Clarke、Molly E. Holzschlag / New Riders / November 15, 2006 / $49.99
As the Web evolves to incorporate new standards and the latest browsers offer new possibilities for creative design, the art of creating Web sites is also changing. Few Web designers are experienced p......一起来看看 《Transcending CSS》 这本书的介绍吧!