来源:http://www.cnblogs.com/wentingtu/archive/2012/03/15/2399474.html
现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言。
对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑到论坛上吼一嗓子,然后欣然or悲伤的离去,一直到遇到下一个问题再回来。当然,这不是最好的学习方式,最好的方式是——看书。目前,市面上介绍R语言的书籍很多,中文英文都有。那么,众多书籍中,一个生手应该从哪一本着手呢?入门之后如何才能把自己练就成某个方面的高手呢?相信这是很多人心中的疑问。有这种疑问的人有福了,因为笔者将根据自己的经历总结一下R语言书籍的学习路线图以使Ruser少走些弯路。
本文分为6个部分,分别介绍初级入门,高级入门,绘图与可视化,计量经济学,时间序列分析,金融等。
1.初级入门
《An Introduction to R》,这是官方的入门小册子。其有中文版,由丁国徽翻译,译名为《R导论》。《R4Beginners》,这本小册子有中文版应该叫《R入门》。除此之外,还可以去读刘思喆的《153分钟学会R》。这本书收集了R初学者提问频率最高的153个问题。为什么叫153分钟呢?因为最初作者写了153个问题,阅读一个问题花费1分钟时间,全局下来也就是153分钟了。有了这些基础之后,要去读一些经典书籍比较全面的入门书籍,比如《统计建模与R软件》,国外还有《R Cookbook》和《R in action》,本人没有看过,因此不便评论。
最后推荐,《R in a Nutshell》。对,“果壳里面的R”!当然,是开玩笑的,in a Nutshell是俚语,意思大致是“简单的说”。目前,我们正在翻译这本书的中文版,大概明年三月份交稿!这本书很不错,大家可以从现在开始期待,并广而告知一下!
2.高级入门
读了上述书籍之后,你就可以去高级入门阶段了。这时候要读的书有两本很经典的。《Statistics with R》和《The R book》。之所以说这两本书高级,是因为这两本书已经不再限于R基础了,而是结合了数据分析的各种常见方法来写就的,比较系统的介绍了R在线性回归、方差分析、多元统计、R绘图、时间序列分析、数据挖掘等各方面的内容,看完之后你会发现,哇,原来R能做的事情这么多,而且做起来是那么简洁。读到这里已经差不多了,剩下的估计就是你要专门攻读的某个方面内容了。下面大致说一说。
3.绘图与可视化
亚里斯多德说,“较其他感觉而言,人类更喜欢观看”。因此,绘图和可视化得到很多人的关注和重视。那么,如何学习R画图和数据可视化呢?再简单些,如何画直方图?如何往直方图上添加密度曲线呢?我想读完下面这几本书你就大致会明白了。
首先,画图入门可以读《R Graphics》,个人认为这本是比较经典的,全面介绍了R中绘图系统。该书对应的有一个网站,google之就可以了。更深入的可以读《Lattice:Multivariate Data Visualization with R》。上面这些都是比较普通的。当然,有比较文艺和优雅的——ggplot2系统,看《ggplot2:Elegant Graphics for Data Analysis》。还有数据挖掘方面的书:《Data Mining with Rattle and R》,主要是用Rattle软件,个人比较喜欢Rattle!当然,Rattle不是最好的,Rweka也很棒!再有就是交互图形的书了,著名的交互系统是ggobi,这个我已经喜欢两年多了,关于ggobi的书有《Interactive and Dynamic Graphics for Data Analysis With R and GGobi》,不过,也只是适宜入门,更多更全面的还是去ggobi的主页吧,上面有各种资料以及包的更新信息!
特别推荐一下,中文版绘图书籍有谢益辉的《现代统计图形》。
4.计量经济学
关于计量经济学,首先推荐一本很薄的小册子:《Econometrics In R》,做入门用。然后,是《Applied Econometrics with R》,该书对应的R包是AER,可以安装之后配合使用,效果甚佳。计量经济学中很大一部分是关于时间序列分析的,这一块内容在下面的地方说。
5.时间序列分析
时间序列书籍的书籍分两类,一种是比较普适的书籍,典型的代表是:《Time Series Analysis and Its Applications :with R examples》。该书介绍了各种时间序列分析的经典方法及实现各种经典方法的R代码,该书有中文版。如果不想买的话,建议去作者主页直接下载,英文版其实读起来很简单。时间序列分析中有一大块儿是关于金融时间序列分析的。这方面比较流行的书有两本《Analysis of financial time series》,这本书的最初是用的S-plus代码,不过新版已经以R代码为主了。这本书适合有时间序列分析基础和金融基础的人来看,因为书中关于时间序列分析的理论以及各种金融知识讲解的不是特别清楚,将极值理论计算VaR的部分就比较难看懂。另外一个比较有意思的是Rmetrics推出的《TimeSeriesFAQ》,这本书是金融时间序列入门的东西,讲的很基础,但是很难懂。对应的中文版有《金融时间序列分析常见问题集》,当然,目前还没有发出来。经济领域的时间序列有一种特殊的情况叫协整,很多人很关注这方面的理论,关心这个的可以看《Analysis of Integrated and Cointegrated Time Series with R》。最后,比较高级的一本书是关于小波分析的,看《Wavelet Methods in Statistics with R》。附加一点,关于时间序列聚类的书籍目前比较少见,是一个处女地,有志之士可以开垦之!
6.金融
金融的领域很广泛,如果是大金融的话,保险也要被纳入此间。用R做金融更多地需要掌握的是金融知识,只会数据分析技术意义寥寥。我觉得这些书对于懂金融、不同数据分析技术的人比较有用,只懂数据分析技术而不动金融知识的人看起来肯定如雾里看花,甚至有人会觉得金融分析比较低级。这方面比较经典的书籍有:《Advanced Topics in Analysis of Economic and Financial Data Using R》以及《Modelling Financial Time Series With S-plus》。金融产品定价之类的常常要用到随机微分方程,有一本叫《Simulation Inference Stochastic Differential Equations:with R examples》的书是关于这方面的内容的,有实例,内容还算详实!此外,是风险度量与管理类。比较经典的有《Simulation Techniques in Financial Risk Management》、《Modern Actuarial Risk Theory Using R》和《Quantitative Risk Management:Concepts, Techniques and Tools》。投资组合分析类和期权定价类可以分别看《Portfolio Optimization with R》和《Option Pricing and Estimation of Financial Models with R》。
7.数据挖掘
这方面的书不多,只有《Data Mining with R:learing with case studies》。不过,R中数据挖掘方面的包已经足够多了,参考包中的帮助文档就足够了。
8.附注
出于版权等事宜的考虑,我无法告知你说在“新浪爱问”等地方可以直接免费下载到上面提到的这些书,但是,我想你可以发挥自己的聪明才智去体悟!
详细培训大纲:
第一阶段:R语言基础
第一课时:《R语言快速入门》
(时长约2小时32分钟)
课程目的:学完本课程,掌握R及RStudio工具的安装及使用,了解R的工作空间和包,对数据结构、数据导入、基础绘图及描述性统计分析有个初步的了解。
课程介绍:
1、讲师自我介绍
2、课程大纲及常用分析工具介绍
3、R、RStudio and Rattle安装及介绍
4、新手上路
5、帮助、工作空间及包的介绍
6、数据对象向量详解
7、数据对象之矩阵和数据框
8、数据导入
9、R语言基础绘图
10、R语言描述性统计分析
第二课时:《R语言数据对象及数据基本管理》
(时长约4小时24分钟)
课程目的:通过本课程学习,深入了解R语言不同数据对象创建及时间格式转换方法,掌握常用的数据管理技巧及会编写简单的分支和循环语句。
课程大纲:
第一章 数据对象
1、常用数据对象类型介绍
2、对象属性的判断和转换
3、日期变量及其常用函数介绍
4、查看对象的类型
5、向量创建及向量化操作详解
6、常用序列创建及索引向量介绍
7、因子的创建及储存原理
8、矩阵和数组的创建及应用
9、列表和数据框的创建
第二章 数据基本管理
1、数据基本管理知识点介绍及创建新变量
2、变量的重新编码
3、变量重命名
4、变量虚拟化处理详解
5、粘贴函数详解
6、转换函数transform介绍
7、排序函数(sort、order、rank)详解
8、选定特定行或者子集的subset函数详解
9、sqldf包介绍
第三章 循环及分支语句
1、分支语句详解
2、循环语句介绍
第三课时:《R语言数据导入导出》
(时长约2小时21分钟)
课程目的:通过本课程学习,掌握文本文件、非结构化文件、excel文件的读入方式;掌握R语言与mysql数据库的连接方式及数据读取及操作;掌握quantmod包爬取金融数据的基本操作。
课程大纲:
1、课程大纲介绍
2、从键盘输入数据
3、利用RStuido导入数据
4、读入文本文件数据
5、将Excel数据读入R
6、利用foreign包读入spss、arff格式数据
7、利用RODBC包实现R与数据库连接
8、数据爬取之quantmod包介绍
9、利用其它方式爬取网络数据
第四课时:《数据描述性统计分析及数据抽样》
(时长约2小时27分钟)
课程目的:通过本课程学习,掌握R语言常用的位置度量统计指标;深入探讨数据抽样,包括随机抽样函数sample及等比例抽样函数createDataParation函数的使用;运用SMOTE函数进行类失衡问题处理等等。
课程大纲:
第一章 描述性统计分析
1、课程大纲及描述性统计分析简介
2、均值函数的介绍及参数trim详解
3、mean函数的na.rm参数及weighted.mean函数介绍
4、median函数详解
5、百分位数quantile函数详解
第二章 数据抽样
1、数据抽样的必要性及常用场景
2、类失衡函数SMOTE详解
3、数据随机抽样sample函数
4、利用sample函数实现等比抽样
5、creatDataPartition函数介绍
6、用于交叉验证的样本抽样-creatFolds函数
7、数据标准化- preProcess()函数
第五课时:《R语言绘图基础》
(时长约3小时17分钟)
课程目的:通过本课程学习,掌握R常用图形参数(颜色、点、线、文字);低级绘图函数(标题、图例、坐标轴、点、线) 以及基础包中常用高级绘图函数的用法。
课程大纲:
第一章 绘图参数设置
1、R语言绘图基础及颜色参数col详解
2、主题配色函数详解
3、RColorBrewer颜色扩展包详解
4、文字元素相关参数设置详解
5、点元素相关参数设置详解
6、线元素相关参数设置详解
第二章 低级绘图函数
1、标题设置详解
2、坐标轴axis函数详解
3、图例函数legend详解
4、网格线grid、点point、文字text函数介绍
5、线函数abline、lines详解
第三章 基础包中高级绘图函数
1、基础包中 常见绘图函数
2、散点图、散点图矩阵、高密度散点图、三维散点图以及气泡图详解
3、线图、点图、直方图、核密度图、箱线图
第六课时:《R语言之高级绘图》
(时长约5小时46分钟)
课程目的:通过本课程学习,灵活应用lattice包、ggplot2包对复杂数据进行可视化;掌握常用的数据可视化交互包rCharts、recharts、rborkeh、plotly等包的安装及使用。
课程大纲:
第一章 ggplot2绘图系统
1、ggplot2原理及qplot函数介绍
2、ggplot常用函数及案例演示
3、ggplot绘制散点图、柱状图、直方图演示
4、ggthemes主题包介绍
第二章 lattice绘图系统
5、lattice包小例子
6、图形参数设置
7、条件变量
8、面板函数
9、分组变量
10、lattice高级绘图函数介绍
11、条形图barchart函数详解
12、点图dotplot函数详解
13、直方图histogram、核密度图densityplot和带状图stripplot函数介绍
14、QQ图qqmath和qq函数、箱线图bwplot、散点图xyplot、散点图矩阵splom函数介绍
15、lattice包中三维图绘制介绍
第三章 交互式绘图
16、rCharts包安装及小例子演示
17、nPlot函数绘制柱状图和条形图
18、利用nPlot函数绘制饼图和散点图
19、hPlot和mPlot函数介绍和案例演示
20、recharts包介绍及散点图案例演示
21、recharts绘制条形图雷达图和中文数据测试
22、rbokeh包介绍及案例演示
23、plotly包介绍及案例演示
24、其他交互包的介绍
第七课时:《R语言之数据探索》
(时长约4小时51分钟)
课程目的:通过本课程学习,理解数据质量分析的重要性;掌握缺失值高级处理的方法;通过数据分析手段分析异常值以及研究连续性变量间的相关性。
课程大纲:
1、数据质量
- 数据质量分析理论知识
- 课程大纲及数据缺失值产生原因介绍
- 缺失值的影响和简单分析
2、异常值的处理方法介绍
- 缺失值处理的高级方法
- 缺失值处理的步骤和常用方法介绍
- 识别缺失值(na和complete.cases函数详解)
3、md.pattern函数详解
4、探索缺失值模式:aggr函数详解
5、缺失值处理:行删除和利用缺失值进行替换
6、利用线性回归和随机森林对缺失值进行插补
- 异常值处理
- 质量控制图qcc函数详解
- 利用stats函数识别异常值2
7、利用K-Means聚类识别异常值
- 相关性分析
- 相关性分析的常用方法
- 散点图矩阵详解
- 求相关系数值及可视化
第二阶段:R语言模型篇
第八课时:《数据挖掘算法之统计模型篇》
(预计时长:6个小时)
课程目的:通过本课程学习,掌握常用经典挖掘算法:线性回归、降维技术、聚类分析及关联规则的基本原理及R语言实现;并通过案例带领大家进行实战。
课程大纲:
- 线性回归及广义线性回归模型
- 线性回归基本原理
- 一元线性回归
- 多元线性回归
- 回归诊断
- 广义线性回归模型基本原理
- Logit回归
- 降维技术
- 主成分分析的基本原理
- 主成分分析的R语言实现
- 案例:利用主成分分析构建股票市场指数
- 因子分析的基本原理
- 因子分析的R语言实现
- 案例:对洛杉矶街区数据进行因子分析
- 对应分析的基本原理
- 对应分析的R语言实现
- 案例:游戏玩家购物喜欢的对应分析
- 聚类分析
- 距离的计算方法:dist函数
- 常用聚类分析的原理:K-Means聚类、层次聚类的实现原理详细介绍
- 常用聚类分析的R语言实现
- 案例:对鸢尾花数据集进行K-Means聚类
- 案例:对汽车数据集进行K-Means聚类
- 案例:对洛杉矶街区数据进行层次聚类
- 案例:对汽车数据集进行层次聚类
- 关联规则
- 关联规则的基本概念:关联规则的原理及Apriori算法介绍
- 关联规则的R语言实现
- 关联规则可视化-arulesViz包介绍
- 案例:利用超市购物篮Groceries数据进行关联规则分析
第九课时:《数据挖掘算法之机器学习篇》
(预计时长:6个小时)
课程目的:通过本课程学习,掌握常用机器学习算法:KNN近邻算法、朴素贝叶斯算法、决策树算法已经组合算法的基本原理及R语言实现。
课程大纲:
- KNN近邻分类算法
- KNN近邻算法基本原理介绍
- KNN近邻算法R语言实现
- 案例:对iris数据集进行knn分类
- 案例:对乳腺癌数据集wisc_bc_data进行knn分类
- 朴素贝叶斯分类
- 朴素贝叶斯分类算法原理
- 朴素贝叶斯算法的R语言实现
- 案例:对数据集PimaIndiansDiabetes进行分类
- 案例:利用朴素贝叶斯分类对文本数据进行分类
- 决策树算法
- 理解决策树基本原理
- 不同决策树算法的核心理念
- 不同决策树算法的R语言实现
- 案例:利用不同的决策树算法对鸢尾花数据集进行分类预测
- 案例:利用不同的决策树算法对汽车数据集进行分类预测
- 应用组合算法进行分类
- 为什么要用组合算法
- 常用组合算法的原理介绍
- 不同组合算法的R语言实现
- 案例:对胎心宫缩监护数据的胎儿状态分类进行研究
- 案例:对汽车数据集中的用户满意度状态进行研究
第十课时:《数据挖掘算法之模型评估篇》
(预计时长:3.5个小时)
课程目的:通过本课程学习,掌握常用的模型评估方法:混淆矩阵、ROC曲线、K折交叉验证等。
课程大纲:
- 混淆矩阵
- 深入了解混淆矩阵
- 使用混淆矩阵度量性能
- ROC曲线
- ROC曲线的理论知识
- ROC曲线的R绘制方法
- 利用caret包比较ROC曲线
- 基于K折交叉验证方法
- K折交叉验证基本原理
- 利用e1071包完成交叉验证
- 利用caret包完成交叉验证
第三阶段:R语言进阶篇
第十一课时:《数据挖掘可视化工具:Rattle篇》
(预计时长:4个小时)
课程目的:通过本课程学习,掌握Rattle工具的基本操作,实现快速完成数据探索、数据预处理、数据建模、模型评估等数据挖掘工作。
课程大纲:
- Rattle介绍及安装
- Rattle简介
- Rattle介绍
- 功能预览
- 数据导入Rattle
- 导入csv格式数据
- 导入txt格式数据
- 导入ARFF数据
- 导入ODBC数据
- 导入其他数据
- 数据探索
- 数据总体概要
- 数据分布探索(数据可视化)
- 数据相关性分析
- 数据主成分分析
- 交互图
- 数据建模及模型评估
- 聚类分析
- 关联规则
- 决策树
- 随机森林
- 模型评估
第十二课时:《利用shiny快速搭建数据挖掘平台原型》
(预计时长:7个小时)
课程目的:通过本课程学习,掌握shiny及shinydashboard包的知识点,通过实际案例详解让学员达到自行搭建网页app应用的能力。
课程大纲:
第一章 利用shiny包快速搭建数据分析平台原型
- shiny包介绍
- shiny包搭建web网页原理
- shiy框架介绍
- 常用控件介绍
- 案例详细介绍
第二章 利用shinydashboard包快速搭建BI平台
- shinydashboard包介绍
- shinydashboard框架介绍
- 常用函数介绍
- 案例:快速搭建数据分析平台原理
- 输出lattice包、ggplot2等常规图形
- 输出rCharts包、DT包、networkD3包等交互图形
第三章 在平台输出模型结果:关联分析规则可视化&聚类分析结果可视化
- 案例:用户细分及付费预测平台
- 平台基本功能介绍
- 平台框架搭建
- 代码详解
第四章 案例渠道用户打分平台
- 平台基本功能介绍
- 平台框架搭建
- 代码详解
第十三课时:《行业案例分享》
(预计时长:8个小时)
课程目的:通过本课程学习,提升知识点综合应用能力。通过不同行业案例的分享,掌握数据挖掘在实际业务数据中的方法论,达到举一反三,进而能将挖掘技术应用到自己实际数据中去。
课程大纲:
第一章 案例:对玩家付费行为进行预测
- 对玩家物品购买关联分析
- 基于玩家物品的智能推荐
- 玩家社会网络分析
第二章 案例:航空公司客户价值分析
- 背景与挖掘目标
- 分析方法与过程
- 数据探索分析
- 数据预处理
- 模型构建
- 模型应用
第三章 案例:基于数据挖掘技术的市财政收入分析预测模型
- 背景与挖掘目标
- 分析方法与过程
- 数据探索分析
- 数据预处理
- 模型构建
- 模型应用
第四章 案例:预测股票市场收益
- 问题描述与目标
- 定义预测任务
- 预测模型
- 模型评价和选择
第五章 案例:侦测欺诈交易
- 问题描述与目标
- 定义数据挖掘任务
- 计算离群值的排序
第六章 案例:客户回复预测与效益最大化
- 问题描述与目标
- 数据探索
- 训练决策树
- 模型评估
- 选择最有决策树
- 评分
from:https://wx4aacb2eb97a19568.91pintuan.com/group/5810be1ecb9326b5b4b33a49?from=timeline&isappinstalled=0