版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
来源 2012年,统计(AmericanStatisticalAssociation)将R简R编程基R数据挖R发展趋R语言由AucklandRobertGentleman和RossIhaka于RossIhaka&Robert——百S语言发明人之一的JohnChambers2009年第一期RJournal上这样对R擅长模型编程(FunctionalinitsmodelofR免费R资源公开(不是黑盒子,也不是鬼提高API接口均可调用,比如 其他统计软件大部分均可调用R,比如SAS,SPSS,Statistica跨平台,R可以在UNIX,Windows和MacOS等多操作系统下进R十分方便编写函数和程序包,R语言很容易延伸和扩R社区贡献4000+的扩展包现在R可以与C++,Java,Python等语言相用R有优秀的内在帮助系R是一种解释性语R语言有一个强大对于熟练的编程者,他将觉得该语言比其他语言更熟悉而对于计算机初学者,学习R语言使得学习下一步的其他编程不那么,那些傻瓜软件等)语言的语法则完全不同速度快,有大量统计分析模块,可扩展性稍差,昂贵复杂的用户图形界面,简单易学,但是编程十分运行S语言,具有复杂的界面,与R完全兼容,昂贵无法任意取出计算过无法在中间插入任何算无法实现软件所没有新的重要统计方法是利用诸如SAS或SPSS等封闭软件产生是输入输出有限制的黑盒无法实现规模化运算,有n个指标即使运行同一种算法,也需要手工操作n 果被FDA(FoodandDrug
Multicore适合大规模计算环境,主要解决单线程问题ParallelR2.14.0版本增加的标准版,整合了snowmulticoreR+Hadoop在Hadoop集群上运行R代码RHIPE提供了更友好的R代码运行环境,解决单线存限Segue利用Amazon’sWebServices(EC2)R简R编程基R数据挖R发展趋①登入R软件首页②选择镜像③选择操作系统③选择操作系统④选择
Rstudio是一款跨平台的R语言IDE(集成开放环境),把常用的窗口都整合在一起,让开发R标准包构成R源代码一部分,随R基本安装环境发布,捐献包(Packages)是R功能扩展,每个Package现特定功能,需单独安装目前,R社区贡献了5500+以上的CRAN提供每个包的源代码和编译好的程序包,Window下为zip文如果已连接互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动并安装程序包例如,要安装决策树rpart包在菜单栏路径:Packages>installpackagesfromlocalfiles,选择本地磁盘上zip包的文件夹(需从R压缩包到本地)程序包的使用:librarylibrary(rpart)help>Rhelp(mean)orapropos(“mean”):搜索指定字符串函help.search(“mean”):关键字搜sos包,findFn(“spline”,maxPages=2),查找所有带有字符“spline”的函数、所在的包、和匹度help>Htmlhelp>Manuals(in(functions(functions…
(library
(data x=matrix(1:20,nrow=4,ncol=5)#手工创建数据对象
()。2.8.3:R对象-2.8.3:R对象-矩阵和数组(Matricesanda<- typeof(aclass(aattributes(a)#仅比原向量多了一个dim对数据框有names(),rownames()和colnames(),其中names()和colnames()结果相同,可以别用一维或二维的方式提取数据框的子df1<-data.frame(x=1:3,y=c(a*,b*,c*));data.frame(cbind(a=1:2,b=c(a*,b*)));df2=data.frame(a=1:2,b=c(“a”,”b”));vec=3:4;
样方样方样方Row
n2<-1:10n3<-3+rnorm(1)n4=n2>5数组:x2<-矩阵:A<-列表:Lst<-因子:sex<-c(‘M’,‘F’,‘M’,‘M’,‘F’);sexf<-时间序列数据框:df<-读入外部文本格式数据读入外部csvread.csv(“D:/R/weather.csv”,header=TRUE)#读入外部文本格式数据读入外部csvread.delim 逗号分隔符的数scan(file,what=list())#指定数据的类read.wfw()#可以用来文件中一些固定宽度格式的数某些R程序包(如foreign)提供了直接 ,SPSS,systat,Minitab件的函read.spss()#SPSS数read.xport()#SASxport数read.dta()#state数调用包查看可用的ODBC接口<-通过接口车险数据表数据到数据框中:ClaimData<-sqlFetch(myconn,">write.table(weather,>write.csv(weather,[提取的子集保留原对象的数据结构,例如,输入数据框,输出还是数据[[提取对象的元素,输出结果一般都是最简单的向量,比如str(iris[1])和$常用于数据框的操作,提取数据框中某个变量,如正数,返回相应位置的元负数,忽略相应位置的元素,x[-逻辑向量,返回与TRUE对应位置的字符向量名字,如果向量有名字运算运算数比较运逻辑运+加<小!逻辑-减>大x&逻辑*乘小于等x&&同/除大于等逻辑^乘等同取不等xor异整)sqldf:R中编写SQL,对数据框进行操plyr:R中的Map-Reduce思reshape2:R中的数据stringr:字符数据处理,正则表达lubridata:时间数据处操作矩操作矩阵或数组,返操作向量或列表,返回列操作向量或列表,返回向量或矩操作向量,根据因子分钟,返回操作多个向量,返回列与sapply同,操作列表,返回向量或列与lapply类似,操作向量或列表,返回向>apply(iris[var],2,mean)#对每列求均尽量用apply函数族代替循环..a..a2bc..b0b5..c5c 2..a2a4..a2a4b0b5c5cn>ddply(ds,”location”,summarize,mean.rainfall=mean(raindall,na,rm=T))#按地区统计降雨FunctiontoInput
eachddply(ds,”location”,summarize,Waytoup
2-ndargumentmutate:生成新的计算字summarize:分类汇总,经常与ddplyarrange:实现按照多列对数据集进行join:对数据集进行连接操作,与数据库连接操作一if(条件)表达if((条件)表达式1else达2{ }
forin量达式for(iin1:10)while(条件)表达用法i<-while(i<10){print(i);i<-repeat表达式{异常处理表达式(循环/判别return(返回值}
{}面向特定的统计图参数设置较多,较难学习和灵活应用高级绘图函数创建新图 低级绘图函数在现存图形上添加元用户能在更抽象层面采取图层的设计方式,有利于结构化思维图形美观,同时避免繁琐细>p<-ggplot(data=mpg,map>p<-ggplot2:数据分析与图形艺术
Hadley2015-2015-•词频文件并画library(wordcloud)#导入R#读入词频数wordFreq<-read.table(file="词频示例.txt",header=TRUE,sep="") #绘制词云>
87中 事件地域分布年所高校数据科学与大数据技术新专业分布地•淘宝指数文件并画 library("maptools")#导入R包 #导入R#读入包含省级行政区地理位置的文chinaMap<-readOGR("省级行政区.shp",xy<-sapply(slot(chinaMap,"polygons"),FUN=function(x)xy<-MapFun<-{MapIndex<-sapply(Name,FUN=function(x)colPanel<-elseplot(chinaMap,panel.firstgrid(),col=colPaneltitle(main=titleName)}header=TRUE,sep="")indices<- provname<-as.vector(Data[[1]])通过source()函数进通过R编辑器运直接粘贴到R控制 R简R编程基R数据挖R发展趋左上主要用来输入代码,点击红色标记处即可保存当前的代码到.R文右上,主要显示当前内存中已有变量、数据集、函数等对象信息,点击红色标记处即可保存.R文左下显示运行结右下显示图、加载包和帮助等信 显示当前工 设置工 小数位数行最大长度显示当前系统分给R的最大内存显示当前R可用内存上限修改R的最大内存上限:memory.limit80776>library(rattle)加载weather数据集所在 #查看数据结>dim(weather)#查看数据维 #查看变量 #查看数据集前几天样 #查看数据集后几条 #随机查看数据集记 #获得变量描述统计>id=c(“date”,”location”,”risk_mm”)#不参与建模ID变 #参与模型变>target=“raintomorrow”#目标变>numberics=names(which(sapply(weather[input],is.numeric)))#数值变>categorics=names(which(sapply(weather[input],is.factor)))#字符变日 ID变下午3上午9800下午37下午37建模变明日 目标变6唯一取值变量:uniques=names(which(sapply(weather[input],function(x)缺失值过多变量取值集中在某一取值变量分类变量的水平过多,可以合并,也可以直接剔除manylvls=names(which(sapply(weather[categorics],function(x)描述统计量:均值(mean),方差(var),分位点(le),中位数(median),众数最值(max,min)数值型变量:直方图(hist),箱线图分类型变量:柱状图(barplot),饼图数值型变量相关矩阵多数值型变量关系图:双变量散点图(plot),多变量散点矩阵分类变量和数值变量关系图:箱线图输入变量与二分类目标变量关系探索(mosaicplot,ggplot2包gramof>boxplot(weather$mintemp,main=‘boxplotof>barplot(table(weather$windgustdir),main=‘barplotof>pie(weather$raintomorrow,radius=1,main=‘pieof>pairs(weather[numerics[1:4]]);>mosaicplot(table(weather$windgustdir,weather$raintomorrow),colour=1:2)#分类变量与目标关>bins=binning(weather$mintemp,bins=8,method=“>mosaicplot(table(bins,weather$raintomorrow),colour=1:2)#连续变量先离散避免过度拟合,改进预测性使学习器运行更快,效能更删除不相关的特征使根据单变量对目标贡献的单变量筛选法,不考虑变量间的相互影选择一组对目标预测最优的多变量筛选法,RWeka包中InfoGainAttributeEval()函数和GainRationAttributeEval()函数>caret包中提供相关方法,另很多算法集成变量筛IV={(%good-%bad)*WOE},good为二分类预测中感的目变量预测能力强弱:<2:无预测能力;2~10:弱;10~30:中等;30+>if(is.numeric(input))input=binning(input,bins=10,method=“>temp3=sapply(temp2,function(input)>iv=sum((temp3[,1]-合并类:分类变量取值过多需要合并,最好按照业务含义合并,比如商品按照分类合并;如没有业务上并方法,则按照不同生成指示变量:如logistic回归、神经网络要求变量为数值型,分类变量要生成0-1的指示变变量离散按照业务含义离散化,如按照分成年轻人、中年人和老年等频离散根据目标离散化,如使每个区间流失率差别最变量归一化:对变量进行线性变换,将取值范围转为[0,1]或[-1,1]之间,不改变变量的分布形变量标准化:Z-Score变换,不改变变量的分布形态,正负表示与均值的比较,数值表示偏离程>quan_mintemp<-binning(weather$mintemp,10,method=“>equal_mintemp<->mintemp.std=(mintemp-min(mintemp))/(max(mintemp)->randomForest包中的na.roughfix()函数可以实>ds=weather[input];>ds.imputed=na.roughfix(ds);>randomForest包中的rflmpute()函数可以实>dss=weather[c(input,target)];>ds.imputed=rflmpute(raintomorrow~.,dss);样本分割:一般采用简单随机抽样方法进行样过抽样:当正样本比例很低时,为了提升模型的训练效果,需要采用过抽样的方式,增长正样本的度>nobs<->n_train<->n_validate<->n_test<->vars<->train<->validate<->test<-
计算训练集中正样本比基于该比例,为了达到理想的占比,需要把正样本三把训练集中正样本记录选出来把训练集和三倍正样train_new=rbind(train[train$raintomorrow==“Yes”,vars],包括了一系列基本的统计分析函数:经典的假设检验,线性模型(分析),统计分布,汇总统计,层次聚类,时间序列分析,非线性最小二乘法和多元分包包据核密度拟合方法(包括双变量核Venables&Ripley著的“ModernAppliedStatisticswithS”中的配线性回归模型广义线性模型(包括logistic回归型方差分析主成分分析 p()或者psych的因子分析
R统计分析的捐献决策树:rpart聚类分析:kmeans函关联规则:arules神经网络:nnet支持向量机(SVM):e1071包,penalizedSVM随机森林:randomForest社会网络分析:igraph协同过滤技术 menderlabBoosting技术:gbm包,boostEnsemlemodels:ensembleBMA
ReferenceCards:Rreferencecarddata用于提取分析结果对计算Akaike信息准则(Akaikeinformationcriterion,AIC)(依赖于#建立线性回归模对分析结果对象做一>model<-生成决策树规则画出直观的决策树图:fancyRpartPlot(model,main=“DecisionTreefor模型打分函数predict(),是一个泛型函数,它根据不同的模型对象类型,会调用不同的打分方通过methods(predict)查看predict支持的模型对象类型。常>pr<->write.csv(data.frame(data=weather[n_test,”date”],prediction将预测结果和真实结果组合在一起,生成一个prediction对象,然后再调用performance函peroran对象,最后对perorane用pot>perf=performance(pred,measure=“tpr”,x.mean=“fpr”),可以生成ROCgraphs,Sensitivity/specificityplots和Lift>plot(performance(pred,”tpr”,”fpr”),col=‘red’,main=“ROC>plot(performance(pred,”prec”,”rec”),col=‘red’,main=“Precision/recall调用自定义函数(UDF)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025机器买卖合同
- 2025资金托管合同范本资金托管协议书
- 2025进料加工贸易合同
- 二零二五年度企业法人股东退出合同3篇
- 二零二五年度景区保洁员劳动合同3篇
- 2025年度兼职协议书-企业数据分析师兼职服务协议3篇
- 2025年度养牛产业养殖废弃物综合利用合作合同3篇
- 二零二五年度绿色建筑经营权承包管理协议书3篇
- 2025年度退股投资者关系维护协议3篇
- 二零二五年度农村自建房农村自建房施工安全责任合同
- 法律职业伦理考试题库汇总含答案
- 呆滞品管理制度范本(3篇)
- 海底捞-新员工培训
- Cinema 4D从入门到精通PPT完整版全套教学课件
- T-SHSPTA 002-2023 药品上市许可持有人委托销售管理规范
- 我国双语教育发展现状以及建议
- 保研推免个人简历
- 《计算机组成原理》武汉大学2023级期末考试试题答案
- 广东广州白云区2021学年第二学期期末学生学业质量诊断调研六年级语文(含答案)
- 公安院校公安专业招生体检表
- 2023-2024学年四川省泸州市小学数学四年级上册期末评估测试题
评论
0/150
提交评论