本书从R语言的使用出发,在重点介绍R语言编程基础、操作、可视化、统计、高性能计算和机器学习的同时,注重实践能力的培养和数据分析与挖掘素质的全面提高。本书分为统计分析基础和机器学习实践两部分,共12章,内容包括R语言概述、数据访问、数据操作、数据可视化、概率与分布、基本统计分析、回归分析、方差分析、大数据高性能计算、机器学习流程、有监督学习模型、无监督学习模型。本书的重点是让学生了解R语言数据分析与挖掘的基本技能和操作方法,并与数据分析与挖掘的典型方法、算法和应用场景结合。本书内容丰富、体系新颖、结构合理、文字精练,适合作为普通高等院校信息类、管理类和数学统计类专业的R语言数据分析与挖掘课程的教材,也可作为数据科学行业相关从业人员的自学用书。
随着信息技术的普及和应用,各行各业产生了大量的数据,人们持续不断地探索处理这些数据的方法,以期大
限度地从中挖掘有用信息。面对如潮水般不断增加的数据,人们不再满足于数据的查询和统计分析,而是期望从数据中提取信息或者知识为决策服务。数据挖掘技术突破数据分析技术的种种局限,结合统计学、数据库、机器学习等技术解决从数据中发现新的信息并辅助决策这一难题,是正在飞速发展的前沿学科。近年来,随着教育部新工科建设的不断推进,大数据技术受到广泛的关注,数据挖掘作为大数据技术的重要实现手段,能够挖掘数据的关联规则、实现数据的分类、聚类、异常检测和时间序列分析等,解决商务管理、生产控制、市场分析、工程设计和科学探索等各行各业中的数据分析与信息挖掘问题。
R语言是一种通用的统计计算和数据可视化开源软件环境和编程语言,具有高度可扩展性。R语言同时支持Linux、Windows和Mac操作系统。R语言的前身为贝尔实验室研发的S语言。1992年由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman创建,并以他们的名字首字母作为项目名称。2007年Revolution Analytics公司成立,对R语言做商用支持,2015年1月被Microsoft收购。
1997年,R语言正式开源,吸引了世界范围内各行业的代码贡献者,实现各种各样的数据分析方法。截至2018年11月,CRAN(the Comprehensive R Archive Network)官方收录了13 328个算法库,常用的包括:
数据加载:RODBC、RMySQL、RSQLite、XLConnect、xlsx、foreign;
数据处理:dplyr、tidyr、stringr、lubridate;
数据可视化:ggplot2、ggvis、rgl、htmlwidgets、googleVis;
数据建模:car、mgcv、nlme、randomForest、multcomp、glmnet、survival、caret、mlr;
数据报告:shiny、xtable;
空间数据:sp、maptools、maps、ggmap;
时间序列和金融数据:zoo、xts、quantmod;
高性能计算:Rcpp、data.table、parallel;
网页数据:XML、jsonlite、httr。
截至本书出版,共有283所高校获批数据科学与大数据技术专业,其中985及211高校占比达13%。目前,国内数据人才缺口更是达到百万级。由于其开源性、易用性和强大的数据分析能力,R语言已成为世界范围内应用广泛的数据科学工具和语言之一。目前,R语言数据分析与挖掘逐渐成为高校信息类、管理类和数学统计类专业的必修课程内容,同时,作为面向各专业的通识课也广受欢迎。
本书作为立足于应用型本科数据科学与大数据教学的R语言核心课教材,具有如下特色:
(1)内容安排合理且全面,从R语言的基本编程、数据处理、数据可视化、统计分析到高性能计算和机器学习,循序渐进,深入浅出。
(2)难度适中,适合作为本科中高年级的核心课教材,零基础要求,对编程及数学知识不作为必要基础。
(3)理论与案例相结合,理论与实践相结合,包含了泰坦尼克号乘客生存分析、航班准点数据处理、鸢尾花数据建模等实践案例。
本书全面介绍了R语言的基本编程、数据处理、数据可视化、统计分析到高性能计算和机器学习,主要内容分为以下两部分:
第一部分:统计分析基础。第1章为R语言概述,包括R语言的相关背景、基本概念和基本操作等。第2章为数据访问,包括基本数据类型、数据的输入和输出等。第3章为数据操作,包括数据的缺失值处理、转换、合并和取子集等。第4章为数据可视化,包括各种图形元素的绘制和各种图表的绘制。第5章为概率与分布,包括常用概率和中心极限定理。第6章为基本统计分析,包括描述性统计分析、相关性和常用检验等。第7章为回归分析,包括OLS回归和回归诊断等。第8章为方差分析,包括ANOVA模型、单因素和多元方差分析等。
第二部分:机器学习实践。第9章为大数据高性能计算,包括大数据的选择、聚合、引用、筛选、连接和变形等。第10章为机器学习流程,包括数据探索、划分、填充、特征选择、建模调优和测试评估等。第11章主要介绍常用的有监督学习模型,包括线性、朴素贝叶斯、k近邻、决策树、随机森林、神经网络、支持向量机等。第12章主要介绍常用的无监督学习模型,包括k均值聚类、DBSCAN聚类、AGNES层次聚类和关联分析模型等。
本书由杜宾、钱亮宏、黄勃和高永彬编著。具体分工如下:杜宾编写第1章到第8章,黄勃编写第9章,钱亮宏编写第10章和第11章,高永彬编写第12章。全书由方志军、范磊和许华根主审。感谢孙冉、沈烨和周恒对本书的贡献。
由于编者水平有限,加之时间仓促,书中难免存在疏漏和不足之处,敬请老师和同学批评指正。
编者
2018年11月
杜宾,男,教授,就职于江西财经大学。管理科学与工程专业博士,1971年10月出生,江西吉安人。主要从事信息系统、机器学习、管理决策、数据分析等领域的研究,主讲课程包括R语言数据分析基础、计算机应用技术、运营管理等。钱亮宏,男,毕业于上海交通大学电子信息与电气工程学院,1989年8月出生,拥有10年R语言使用经验,一直奋战在数据分析与挖掘领域的第一线,作为金融和互联网行业资深数据挖掘专家。黄勃:博士,讲师,2014年12月武汉大学博士毕业入职上海工程技术大学,主讲了8门本科课程。研究方向为软件工程,机器学习,人工智能。发表学术论文30多篇,其中SCI,EI、ISTP三大检索20篇;获发明专利和软件著作权5项,省部级科技进步奖2项;2016年获批国家自然科学基金一项。高永彬:博士、讲师,就职于上海工程技术大学,博士毕业于韩国全北国立大学,在模式识别、机器学习领域积累了大量的研究与实战经验。特别地,在基于深度学习技术的人脸识别以及车型检测技术进行了深入地研究,发表了近30篇期刊/会议论文,取得了丰厚的研究成果,发表在包括Information Sciences, Pattern Recognition Letters等高水平期刊中,其中SCI收录5篇,EI收录4篇。