01.R语言的安装与使用R是统计分析软件,在数据分析、数据挖掘领域有优势;与SAS比最大的好处就是免费,其次是有各种现成的程序包可用,再次是具有极好的制图功能(数据可视化)。一、下载安装到R语言官网或镜像站:://mirrors.tuna.tsinghua.edu.cn/CRAN/下载最新版R-3.3.1安装即可,安装时可选择32位或64位版本。建议再接着安装相应版本的R语言集成开发环境Rstudio,地址:升级R:在其它目录安装R,再将旧版本保留的library目录下的文件(程序包packages)拷贝到新版本library目录下,然后update.packages()二、操作界面图1R-3.3.1操作界面类似Matlab的命令窗口,输入命令,按回车得到运行结果。【程序包】菜单可以实现载入程序包、设定CRAN镜像、安装及更新程序包等功能。图2RStudio操作界面代码编辑窗口:新建或打开脚本可调出,用来编写代码,打开R脚本,单击Run运行代码;命令控制台:代码运行后,控制台会显示相应的代码或返回结果,同R操作界面的命令窗口;工作空间和历史窗口:类似Matlab相应窗口;文件、画图、程序包、帮助等窗口。三、如何安装程序包?1.查看已安装的程序包(.packages())注:程序包默认安装在…\R\R-3.3.1\library目录。2.加载程序包library(RMySQL)若没有安装该包,则会提示错误:Errorinlibrary(RMySQL):不存在叫‘RMySQL’这个名字的程辑包查看加载的程序包.packages(all.available=TRUE)注:这些程序包是自动加载的。解除加载程序包:detach(package:RMySQL)3.安装程序包(1)使用R语言操作界面方法1:菜单操作:【程序包】——【安装程序包】,选择镜像“China(Beijing4)[https]”,【确定】,在“Packages”窗口,选中要安装的程序包,点【确定】安装即可。方法2:命令操作:install.packages(RMySQL)回车,选择镜像(同上)后即可安装。(2)使用RStudio操作务必先设定镜像:【Tools】——【GlobalOptions…】,在Options窗口点“Packages”,修改CRANmirror为China(Beijing4)[https]-TUNATeam,TsinghuaUniversity菜单操作:【Tools】——【InstallPackages…】,在“Packagees”框输入要安装的程序包名,点Install安装即可命令操作同前文。注:也可以下载zip程序包,本地安装。4.删除程序包remove.packages(RMySQL)5更新包update.packages()更新所有已安装的包。四、常用操作1.helphelp(函数名)或者?函数名使用R帮助是一种快速学习和掌握R的有效方法。2.命令窗口清屏Ctrl+L3.清除内存变量rm(变量名)清除所有变量:rm(list=ls(all=TRUE))4.获取或设置当前工作目录getwd()setwd()注意:路径中反斜杠的方向,或者用双斜杠“\\”代替“\”。5.保存和加载数据——save和load函数save函数将工作空间中的数据保存为文件,例如a-1:10a[1]12345678910save(a,file=E:/办公资料/R语言/R语言学习系列/codes/adata.Rdata)注:R语言默认数据格式为.Rdataload函数用来加载数据:load(E:/办公资料/R语言/R语言学习系列/codes/adata.Rdata)6.脚本文件的输入和输出(1)在当前会话中执行一个脚本(中的R语句),常用于将某个函数打包调用:source(“路径/脚本文件.R”)(2)将输出重定向到文件“文件名.txt”中(文本输出),若文件已经存在,则它的内容将被覆盖:sink(“路径/文件名.txt”)使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它;参数split=TRUE可将输出同时发送到屏幕和输出文件中;不加参数调用命令sink()将仅向屏幕返回输出结果。(3)要重定向图形输出,使用下列函数即可,最后用dev.off()将输出返回到终端:函数输出pdf(filename.pdf)pdf文件win.metafile(filename.wmf)Windows图元文件png(filename.png)png文件jpeg(filename.jpg)jpg文件bmp(filename.bmp)bmp文件postscript(filename.ps)PostScript文件例如,执行代码:sink(“myoutput”,append=TRUE,split=TRUE)pdf(“mygraphs.pdf”)source(“script1.R”)脚本文件script1.R中的代码将执行,结果也将显示在屏幕上,另外,文本输出将被追加到文件myoutput中,图形输出将保存到文件mygraphs.pdf中继续执行代码:sink()dey.off()source(“script.2”)脚本文件script2.R中的代码将执行,结果显示在屏幕上(此时不再有文本或图形输出)。7.赋值注意R语言中赋值不是用“=”,而是“-”或“-”,例如x-1:10R也允许用“=”赋值,但不是标准语法,有时会出问题。R是一种基于对象的语言,即在定义类的基础上,创建与操作对象;数值向量、函数、图形等都是对象。五、数据挖掘相关的程序包R程序包主要包含的类别有:空间数据分析类、机器学习与统计学习类(分类、聚类、关联规则、时间序列分析等)、多元统计类、药物动力学数据分析类、计量经济类、金融分析类、并行计算类、数据库访问类。功能函数与加载包分类与预测nnet()需要加载BP神经网络nnet包;randomForest()需要加载随机森林randForest包;svm()需要加载e1071包;tree()需要加载CRAT决策树tree包聚类分析hclust()、kmeans()在stats包关联规则apriori()需要加载arules包时间序列arima()需要加载forecast、tseries包1.分类与预测是数据挖掘领域研究的主要问题之一,常用的分类器有:神经网络、随机森林、支持向量机、决策树等。(1)神经网络分类器nnet包执行单隐层前馈神经网络;nnet()函数,其主要参数有:隐层节点数(size),节点权重(weights),最大迭代次数(maxit)。(2)随机森林分类器基于Breiman随机森林理论,randomForest包实现;randomForest()函数,其主要参数有:森林中决策树的数量(ntree),内部节点随机选择属性的个数(mtry),终节点的最小样本数(nodesize)。(3)支持向量机分类器基于台湾大学林智仁教授的libsvm源代码为基础开发,e1071包实现;svm()函数提供了R与libsvm的接口,其主要参数有:类型(type:“C”实现支持向量机分类,“eps-regression”实现支持向量机回归),核函数(kernel:线性核函数Linear、多项式核函数Polynomial、径向基核函数RBF、Sigmoid核函数)。注:一般选择径向基核函数。线性核函数只能处理线性关系,且是径向基核函数特例;Sigmoid核函数在某些参数上近似径向基核函数(相当于径向基核函数取一定参数);多项式核函数参数较多,不利于参数优选。径向基核函数支持向量机包含两个重要参数:惩罚参数Cost和核参数Gamma,tune()函数可以为两者进行网格寻优(Grid-Search)确定最优值。2.聚类分析分为系统聚类和K-means聚类。系统聚类可以对不同的分类数产生一系列聚类结果,用hclust()函数实现,其主要参数有:聚类矩阵(d:可由dist()函数求得),系统聚类方法(method:最短距离法single、最长距离法complete、类平均法average、中间距离法median、重心法centroid、Wald法wald);K-means聚类只能产生指定分类数的聚类结果,具体分类数的确定,借助实践经验或用一部分样本做系统聚类将其分类数作为参考。3.关联规则关联规则用于从大量数据中挖掘出有价值的数据项之间的相关关系。常用的有arules包中的Apriori算法。使用Apriori算法前,要将数据转换为transaction格式,通过as()函数转换,其中涉及的参数列表用于自定义最小支持度与置信度。4.时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型。先使用ts()函数将数据转化成时间序列格式;模型拟合通过arima()函数实现,其主要参数有:order(自回归项数、滑动平均项数、使时间序列成为平稳序列的差分阶数),seasonal(序列表现出季节性趋势时需要,还有季节周期period),method(参数估计方法:“CSS”为条件最小二乘法、“ML”为极大似然法)。另外,R语言中的auto.arima()函数可以自动生成一个最优拟合模型。主要参考文献:[1]张良均,谢佳标,杨坦,肖刚.R语言与数据挖掘.机械工业出版社,2016.[2]R常见问题解答——153分钟学会R.2008.