如何学习使用R语言进行数据挖掘
学了几个月R,终于摸到了一点门道。
写一些自己的想法和经历,这样可以进一步摆弄r,如果有人看到我写的东西得到帮助就更好了。
r是什么?R的优势在哪里?
r是一个数据分析软件。简单来说,R可以看作是MATLAB的“替代品”,具有免费开源的优势。r可以像MATLAB一样解决数值计算相关的问题,具有强大的数据处理和绘图功能。
R有大量的统计分析工具包,我的感觉是只有我们没听说过的工具,绝对没有R没有的工具包。有了各种各样的工具包,你可以摧毁任何关于数据和统计的问题。由于数据包数量庞大,找到自己需要的数据包可能会比较麻烦。
如果你有以下技能,学习R会很方便:
1.我已经知道一些高级编程语言(非常重要)
2.英语还不错
3.概率统计的理论基础
4.看数据不头疼
5.我看cmd或者terminal都不头疼
你需要一本适合自己的R语言教材。
开始学r的时候发现了这个帖子。
非常强大的R语言教材总结。非常感谢原帖作者。可以参考这个帖子选择适合自己的教材。
我在这里说说我主要用的几本教材的体验:
1.统计建模与R软件(伊雪编写):一本优秀的R语言入门教材,涵盖了R&的所有基础应用;方法和示例代码也非常出色。作为中文编程语言教材,绝对是数一数二的。但要看懂这本书,还是需要“懂一些高级编程语言”。PS:我亲爱的吉林大学图书馆有两本教材在流通,我常年占一本。
2.R一言以蔽之:从讲解内容上看,和上一本书差别不大,在R语言的应用上是比较初级的介绍,但是有些R软件&语言的特点比伊雪老师的教材更深刻。这本书最大的好处就是它是一本参考书,方便你在开始入门的时候查询一些“模棱两可”的东西。PS:我把这本书打印出来,简单的从头到尾翻了一遍,它最大的用处就是像查字典一样查。
3.ggplot2优雅的数据图形:这是一本介绍如何使用ggplot 2包绘图的书。Ggplot2包,一个非常强大的绘图工具,几乎可以操作绘图中的任何元素,并且它提供了一种添加图层的方法,这样我们就可以一步一步地绘图了。说到ggplot2包,要提到一个词——“潜力无穷”,每一个都要介绍一下。
ggplot2大家都会用这个形容词。这本书最大的作用也是作为绘图相关的参考书,讲解详细细致,每一个小的参数变化都会图文并茂,帮助你理解。PS:这本书我也打印出来了,很适合查询。
几个可以逐步提高R能力的网站
1.R-bloggers:关于R和数据的讨论都有,前沿问题,基础问题,什么都有。可以说这些家伙让R越来越厉害了。我RSS这个网站,每天看看自己感兴趣的方法和话题,慢慢积累一些知识,是一个有趣的过程。
2.统计之都:这是一个大量R用户交流的论坛。可以上去问问题,总有好心人帮你。
3.r客:是一个关于r的博客,更新不是很快,关注国内r的一些动态。
r的使用环境
如果看到terminal或cmd就害怕,一定要用Rstudio。Rstudio的优势在于集成了Rconsole、脚本编辑器、可视化数据查询、历史命令、帮助查询等功能,以及脚本与控制台的完美交互。毕竟是可视化界面,用的按钮很多。r的脚本编辑器很痛苦,所以比记事本更突出。不适合写脚本,适合调试脚本。
最后我想说,刚开始学R或者其他任何语言的时候,都有一个通病,就是不知道一些小细节,或者记不太清楚。往往一个伤蛋的bug就能消耗很多时间,这是一个让人想砸电脑的过程。以后我会在博客里记录一些伤蛋的小细节。本文分为六个部分,分别介绍了导论、导论、绘图与可视化、计量经济学、时间序列分析、金融学等。
1.初步介绍
R入门,这是官方的入门小册子。它有一个中译本,由丁翻译,又译为《R..R4初学者,这本小册子有中文版,应该叫R入门..除此之外,你还可以在153分钟内阅读刘思哲的《学习R》。本书收集了R初学者问的最多的153个问题。为什么叫153分钟?因为一开始作者写了153个问题,看一个问题需要1分钟,所以整体情况是153分钟。有了这些基础,我还得看一些经典书籍,比如统计建模,R软件。国外还有R Cookbook和R在行动,我没看过,无法评论。
最后,我一言以蔽之推荐R。对,“壳里的r”!当然,我是开玩笑的。简单地说就是俚语,意思是“简单地”。目前正在翻译这本书的中文版,明年3月投稿!这本书很好。可以从现在开始期待,让我们广而知之!
2.高级简介
看完以上书籍,可以进入高级入门阶段。这个时候有两本经典的书可以读。统计学与R和R书。这两本书之所以先进,是因为它们不再局限于R基础,而是结合了各种常用的数据分析方法编写的。他们系统地介绍了R线性回归、方差分析、多元统计、R绘图、时间序列分析、数据挖掘等方面。看完它们,你会发现,哇,R能做的事情真多,而且做起来这么简单。读到这里就差不多了,剩下的估计就是你想具体研究的东西了。就笼统的说一下吧。
3.绘图和可视化
亚里士多德说,“与其他感官相比,人类更喜欢观看”。所以绘图和可视化吸引了很多人的关注和重视。那么,如何学习R绘图和数据可视化呢?简单,怎么画直方图?如何在直方图中添加密度曲线?我想看完以下几本书,你会有一个大概的了解。
首先可以看《R Graphics》作为画图入门。个人觉得这本书还是挺经典的,全面介绍了R中的画图系统。有书对应的网站,谷歌会做。更深入的阅读,可以阅读Lattice:多元数据可视化带r,以上都是比较常见的。当然还有更文艺优雅的ggplot 2系统,数据分析见ggplot 2:优雅图形。还有一本关于数据挖掘的书:用Rattle和R进行数据挖掘,主要用的是Rattle软件。我个人比较喜欢拨浪鼓!当然,Rattle不是最好的,Rweka也很棒!然后是交互图形的书。著名的交互系统是ggobi,我喜欢了两年多。关于ggobi的书是用R和ggobi进行数据分析的交互式动态图形,但只适合入门。更多信息可以去GGOBI的主页,里面有各种资料和包更新信息!
特别是中文版的绘本是现代统计图形。
4.计量经济学
关于计量经济学,首先推荐一本很薄的小册子:《R中的计量经济学》,作为入门使用。然后是《带R的应用计量经济学》,这本书对应的R包是AER,可以一起安装使用,效果很好。计量经济学很大一部分是关于时间序列分析的,在下面的地方说。
5.时间序列分析
时间序列书籍的书籍分为两类,一类是比较通用的书籍,典型代表是:时间序列分析及其应用:附R个例子。本书介绍了时间序列分析的各种经典方法,以及实现各种经典方法的R代码。这本书有中文版。如果不想买,建议直接从作者主页下载。英文版其实读起来很简单。时间序列分析很大一部分是关于金融时间序列分析的。在这个领域有两本很受欢迎的书,金融时间序列分析。这本书最初是用S-plus代码编写的,但新版本主要使用了R代码。这本书适合有时间序列分析和金融学基础的人,因为书中的时间序列分析理论和各种金融知识不是特别清楚,用极值理论计算VaR的部分比较难懂。另一本有趣的书是Rmetrics出版的TimeSeriesFAQ。这本书是金融时间序列入门,很基础但是很难理解。对应的中文版是《金融时间序列分析常见问题》。当然,现在还没发。经济领域有一个时间序列的特例叫做协整,很多人都很关注这个理论。关心这一点的人可以看到R..最后,更高级的书是关于小波分析的。参见统计学中的小波方法..另外,关于时间序列聚类的书籍目前比较少见,是一片处女地,有志之士可以开垦!
6.金融
金融领域非常广泛。如果是大金融,这里应该也包括保险。用R做金融需要掌握更多的金融知识,但只有数据分析技术意义不大。我觉得这些书对懂金融和不同数据分析技术的人更有用。只知道数据分析技术而不接触财务知识的人,一定是雾里看花,甚至有人认为财务分析比较低级。这方面的经典书籍有:《用R分析经济学和金融数据的高级课题》和《用S-Plus建模金融时间序列》。金融产品定价中经常用到随机微分方程,有本书叫《模拟影响随机微分方程:带r个例子》关于这个,带例子,内容还挺详细的!此外,它还是一门风险衡量和管理课程。经典的是金融风险管理中的模拟技术,使用R的现代实用风险理论和定量风险管理:概念、技术和工具。投资组合分析和期权定价分别可见于带R的投资组合优化和带R的期权定价和金融模型估计。
7.数据挖掘技术
这方面的书不多,只有带R的数据挖掘:带案例学习。不过R里有足够多的数据挖掘包,参考包里的帮助文档就够了。