前言
为什么要写本书
R语言是什么?
R是一种适用于统计分析计算和图像处理的语言,受S语言和Scheme语言影响发展而来。早期R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不做任何修改地在R环境下运行。R的语法来自Scheme,作为一款诞生于20世纪90年代的语言,R已经成为S统计编程语言的一类实现方式。
R编程语言在数字分析与机器学习领域已经成为一款重要的工具。随着机器逐步成为愈发核心的数据生成器,该语言的人气也一路攀升。正如Tiobe、PyPL以及Redmonk等编程语言人气排名所指出,R语言所受到的关注程度正在快速提升。Rexer Analytics发布的2013年数据挖掘人员调查显示,70%的数据挖掘人员使用R软件进行分析工作,其中有24%将其作为主要工具。这些结果类似于2013年KDnuggets调查的结果,该调查指出有61%的响应者表示正在使用R处理分析、数据挖掘和数据科学工作。相比前一年,这一比例上升了16%。
R语言有一些明显的优势:
1)R语言作为一款开源软件,是完全免费的,对比昂贵的SPSS和SAS等统计软件,这无疑是一个巨大的优势。
2)R语言拥有一个庞大的社区来进行维护,庞大的软件包生态系统无疑是R语言最为突出的优势之一。
3)R语言具备可扩展能力且拥有丰富的功能选项,帮助开发人员构建自己的工具及方法,从而顺利实现数据分析。
4)R语言简单易学。虽与C语言之类的程序设计语言已差别很大(比如语言结构相对松散,使用变量前不需要明确正式定义变量类型等),但仍保留了程序设计语言的基础逻辑与自然的语言风格。
从R的普及来看,国外的普及度要明显好于国内,与盗版Windows的泛滥会影响Linux在中国的普及一样,破解的MATLAB与SPSS的存在也影响了R在中国的使用。但在国外高校的统计系,R几乎是一门必修的语言,具有统治性的地位。在工业界,作为互联网公司翘楚的Google内部也有不少工程使用R进行数据分析工作。随着数据挖掘在国内的发展,国内对R语言的需求必将随之一起发展。
总的来说,R语言是一款用于统计分析、数据可视化和预测建模的数据分析软件,它不单单只是一门语言,更是一个数据计算与分析的环境。R支持几乎所有数据分析所需的数据处理、统计模型和图表,支持大量的第三方功能包,涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据库各种语言接口到高性能计算模型等内容。随着大数据时代的来临,数据挖掘将更加广泛地渗透到各行各业中去,而R语言作为数据挖掘里的热门工具,将会有更多其他行业的人加入到R语言的使用者行列中来。R语言的使用课程成为高校中数学与统计学专业的重要课程将是必然的趋势。
本书特色
本书从实际应用出发,结合实例及应用场景,深入浅出地介绍了R语言应用的相关知识:R语言的安装及使用、数据对象与数据读写、常用数据管理、图形探索、高级绘图工具及常用的建模算法在R语言中的实现方式。书中以R语言的函数应用为主,先介绍了函数的应用场景及使用格式,再给出函数的应用实例,最后对函数的运行结果做出了解释,将掌握函数应用的所需知识点按照实际使用的流程展示出来。
为方便理解R语言中相关函数的使用,本书提供示例代码及所用数据等相关资源下载,读者可以从“泰迪杯”全国数据挖掘挑战赛网站(http://www.tipdm.org/ts/747.jhtml)免费获取。也可以通过热线电话(40068-40020)、企业QQ(40068-40020)及以下微信公众号咨询获取。
TipDM
张良均〈大数据挖掘产品与服务〉
本书适用对象
·开设有数据挖掘课程的高校教师和学生。
目前国内不少高校将数据挖掘引入本科教学中,在数学、计算机、自动化、电子信息、金融等专业开设了数据挖掘技术相关的课程,但目前这一课程的教学工具仍然为SPSS、SAS等传统统计工具,并没有使用R语言作为挖掘工具。本书提供了有关R语言的从安装到使用的一系列知识,将能有效指导高校教师和学生使用R语言工具进行数据挖掘。
·数据挖掘开发人员。
这类人员可以在理解数据挖掘应用需求和设计方案的基础上,结合书中提供的R语言的使用方法快速实现数据挖掘应用的编程。
·进行数据挖掘应用研究的科研人员。
许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。R语言可以提供一个优异的环境对这些数据进行挖掘分析应用。
·关注高级数据分析的人员。
R语言作为一个专业的数据分析软件,能为数据分析人员提供可靠的依据。
如何阅读本书
本书主要分为三个部分,基础篇、建模应用篇和Rattle篇。基础篇介绍了有关R语言的安装与使用、R语言中的数据结构、常用操作和绘图功能等基础功能。建模应用篇主要介绍了目前在数据挖掘中常用的建模方法在R语言中的实现函数,并对输出结果进行了解释,有助于读者快速掌握应用R语言进行分析挖掘建模的方法。读者可结合本书提供的示例代码及数据进行上机实验,快速掌握R语言的使用方法。
第一部分是基础篇(第1~5章),第1章主要介绍了R语言及图形操作工具RStudio的安装及使用方法,第2章对R语言中的数据类型和数据对象及不同格式的数据读入和导出R语言进行了介绍,第3章描述了R语言中对数据所能做的常用操作,包括变量的重命名、缺失值分析、排序、随机抽样等,第4、5章主要对R语言的绘图功能进行了介绍,涵盖常用图形如散点图、直方图、条形图、箱线图等,且一并介绍了一些基于R语言的可用于生成交互式图形的软件包。
第二部分是建模应用篇(第6~10章),主要对数据挖掘中常用算法的函数在R语言中的使用方法及其结果进行了介绍,涵盖了目前数据挖掘的5大类算法,包括分类与预测、聚类分析、关联规则、智能推荐和时间序列。按照从模型建立到模型评价架构的顺序进行介绍,使读者能熟练地掌握从建模到对模型评价的完整建模过程。
第三部分是Rattle篇(第11章),介绍了一个R语言的图形界面工具Rattle,此工具能够在一个图形化的界面上对本书介绍的R语言功能进行操作,使读者能更好地体验到使用R语言进行数据挖掘的整个流程。
勘误和支持
除封面署名作者外,参加本书编写工作的还有黄博、陈婷婷、王路、陈玉辉、杨征、施兴、徐英刚、郑泽如、张乐儿、黄东鑫等。由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。本书内容的更新将及时在“泰迪杯”全国数据挖掘挑战赛网站(www.tipdm.org)上发布。读者可通过微信公众号TipDM(微信号:TipDataMining)、TipDM官网(www.tipdm.com)反馈有关问题。也可通过热线电话(40068-40020)或企业QQ(40068-40020)进行在线咨询。
如果你有更多的宝贵意见,欢迎发送邮件至邮箱13560356095@qq.com,期待能够得到你的真挚反馈。
致谢
本书编写过程中得到了广大高校师生的大力支持,在此谨向华南农业大学、华南师范大学、广东工业大学、广东技术师范学院、华南理工大学、韩山师范学院、中山大学、贵州师范学院等单位给予支持的领导及师生致以深深的谢意。
在本书编辑和出版过程中还得到了参与“泰迪杯”全国数据挖掘挑战赛(http://www.tipdm.org)的众多师生及机械工业出版社杨福川老师无私的帮助与支持,在此一并表示感谢。
张良均
2016年4月