R语言笔记常用函数统计分析数据类型数据操作帮助安装程序包R绘图_第1页
R语言笔记常用函数统计分析数据类型数据操作帮助安装程序包R绘图_第2页
R语言笔记常用函数统计分析数据类型数据操作帮助安装程序包R绘图_第3页
R语言笔记常用函数统计分析数据类型数据操作帮助安装程序包R绘图_第4页
R语言笔记常用函数统计分析数据类型数据操作帮助安装程序包R绘图_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R语言学习笔记常用函数1、聚类 常用的包:fpc,cluster,pvclust,mclust 基于划分的方法: kmeans, pam, pamk, clara 基于层次的方法: hclust, pvclust, agnes, diana 基于模型的方法: mclust 基于密度的方法: dbscan 基于画图的方法: plotcluster, plot.hclust 基于验证的方法: cluster.stats2、分类 常用的包 rpart,party,randomForest,rpartOrdinal,tree,marginTree,maptree,survival 决策树: rpart, ctree 随机森林: cforest, randomForest 回归, Logistic回归, Poisson回归: glm, predict, residuals 生存分析: survfit, survdiff, coxph3、关联规则与频繁项集 常用的包 arules:支持挖掘频繁项集,最大频繁项集,频繁闭项目集和关联规则 DRM:回归和分类数据的重复关联模型 APRIORI算法,广度RST算法:apriori, drm ECLAT算法:采用等价类,RST深度搜索和集合的交集:eclat4、序列模式 常用的包:arulesSequences SPADE算法:cSPADE5、时间序列 常用的包:timsac 时间序列构建函数:ts 成分分解: decomp, decompose, stl, tsr6、统计 常用的包: Base R, nlme 方差分析: aov, anova 密度分析: density 假设检验: t.test, prop.test, anova, aov 线性混合模型:lme 主成分分析和因子分析:princomp7、图表 条形图: barplot 饼图: pie 散点图: dotchart 直方图: hist 密度图: densityplot 蜡烛图, 箱形图 boxplot QQ (quantile-quantile) 图: qqnorm, qqplot, qqline Bi-variate plot: coplot 树: rpart Parallel coordinates: parallel, paracoor, parcoord 热图, contour: contour, filled.contour 其他图: stripplot, sunflowerplot, interaction.plot, matplot, fourfoldplot,assocplot, mosaicplot 保存的图表格式: pdf, postscript, win.metafile, jpeg, bmp, png8、数据操作 缺失值:na.omit 变量标准化:scale 变量转置:t 抽样:sample 堆栈:stack, unstack 其他:aggregate, merge, reshape9、与数据挖掘软件Weka做接口 RWeka: 通过这个接口,可以在R中使用Weka的所有算法。安装程序包1 用函数install.packages()2 安装本地zip包路径:Packagesinstall packages from local files查看安装的包installed.packages()检查更新old.packages()更新update.packages()帮助 查看帮助文档?install.package()help(install.package) 函数帮助?functionhelp(function) html帮助Help.start()帮助Html帮助 关键词搜索RSiteSearch(word)数据类型向量 创建向量c( ),创建向量length( ), 向量长度删除向量vector-n,即删除第n个向量mode( ), 向量类型rbind( ), 向量元素都作为一行rowcbind( ) ,向量元素都作为一列col*创建向量序列seq(from, to, by = (to - from)/(length.out - 1),length.),length是总长度(个数),因此by就是间隔rep(mode,time) 产生mode 重复time次的向量lettersn:m 产生字符向量rnorm(n,mean=.,sd=.) 随机序列 取子集 值范围限制如:V(xm|xk,c(col1,col2,.),用attach(data)可以简化这一步操作,即在attach之后可以直接访问列(所有),datadata$colk,用detach可以解除。另一种控制条件查询的方式即通过subset函数取子集Subset(data,colNamek),此时colName是数据框的一个列属性 筛选which()函数进行筛选,which中是筛选条件,如:is.na(). 编辑数据edit(data) 查看数据框属性查看数据维度:dim(data) 返回:行,列单独查看行数列数:nrow(data)、ncol(data)查看列名:names(data),同时修改列名:names(data)=c(,.)查看数据结构:str(data)查看属性(列名$names、类$class、列$s),attributes(data) 添加一列data$addCol=c(,.),添加列的元素应与原来的行数相等merge(dataframeA,dataframeB,by=c(,.),横向合并(添加多列)数据操作数据处理 变量重命名,调用fix(data),出现一个交互式工具;或者rename(dataframe,c(oldname=newname,.) 类型转换:is.datatype()判断,as.datatype()转换 字符串处理:nchar(),计算字符数量substr(x,start,stop)grep(pattern,v),返回向量坐标sub(pattern,replacement,x),替换strsplit(x,split)分割paste(x,c(),sep=),在x后面(向量个数)连接c()向量,以sep分隔cat(str1,str2,.),连接字符串toupper()tolower()读取文件数据data=read.table(位置, header=T)读取文本文件data=read.csv(位置,header=T)读取csv文件在数据导入R语言后,会以数据框(dataframe)的形式储存。dataframe是一种R的数据格式,可以将它想象成类似统计表格,每一行都代表一个样本点,而每一列则代表了样本的不同属性或特征。初学者需要掌握的基本操作方法就是dataframe的编辑、抽取和运算。数据库操作1、配置数据元安装connector配置数据源(控制面板-管理工具-数据源)2、连接数据库odbcConnect(data_src,uid= ,pwd= )3、查询这个是一个通用类型的操作,即可以查询,又可以添加删除修改sqlQuery(channel,sql)4、更新数据库表,并读取数据(问题暂未解决)sqlSave(channel,mydata,NEW_TABLE_NAME,append = TRUE)表若不存在则新建,默认以数据框命名。mydata数据框:data.frame()函数建立描述统计 统计函数mean()Median()var()mad(),绝对中位差quantile(x,probs),求分位数range(),值域sum()diff(v,lag=n),滞后差分min()max()scale(),按列标准化 概率函数 分布函数Beta分布 beta()柯西分布cauchy()卡方分布chisq()t分布 t()F分布 f()Logistic分布logis()均匀分布unif() 正态分布函数rnorm( ) 对数正态分布lnorm() 多项分布mutinom() 泊松分布函数pois( ) 指数分布函数exp( ) Gamma分布函数gamma( ) 均匀分布函数unif( ) 二项分布函数binom( )几何分布函数geom( ) 将这些分布函数加上第一个字母:d=密度函数p=分布函数q=分位数函数r=生成随机数 统计与整合(分组) summary()描述统计是一种从大量数据中压缩提取信息的工具,最常用的就是summary命令,运行summary(data)得到结果如下:对于数值变量计算了五个分位点和均值,对于分类变量则计算了频数(显示最高的前五个) aggregate(x, by, FUN, ., simplify = TRUE)对数据x,通过by指明的变量,以FUN的方式进行整合。x是一个数据框的一个属性by有哪些因子去进行统计FUN是计算的方法这个函数最后返回的是一个组织好的数据框 sapply(x,FUN,options),指定统计方法进行描述options是FUN的参数。另外,可以自定义统计函数,返回是一个向量。描述统计将根据自定义的函数计算,最终返回这个向量。 by(x,INDICES,FUN),也可以对数据进行整合描述,其中,INDICES是一个因子或列表。 table()统计频数。 列联表 创建表table(data),创建一维列联表table(A,B),创建二维列联表(矩阵式),A是行,B是列xtabs(formula,data),根据formula的格式创建。formula可以为A+B抽样函数:Sample(x,size=,replace=T) 处理表prob.table(table,margins),比例,margins是边际(1表示行与行相比,2表示列与列相比)margin.table(table,margins),频数addmargins(tables,margins),为表格添加边际ftable(table)常用统计推断 独立性检验 卡方独立性检验chisq.test()p0.05则不拒绝。 Fisher精确性检验fisher.test(),假设是:边界固定的列联表行和列是相互独立的。 Corchran-Mantel-Haenszel检验mantelhaen.test(),假设:两个名义变量在第三个变量的每一层中都是独立的。 相关性度量 assocstats(),较大的值意味着较强的相关性。 cor(x,use,method=),计算相关系数;use指定缺失数据的处理方式,method指定相关系数的类型(Pearson、spearman、Kendall三种)cor.test(x,y,alternative=,method=),对x、y的相关性检验,alternative表示总体的相关系数大于还是小于0(less小于0,greater大于0,two.side,不等于0) cov(),计算协方差。 pcor(u,S),偏相关,指控制一个或多个变量后,另外两个变量之间的相互关系。u是一个数值向量,前两个数值表示要计算相关性的下标,后面的表示要控制的变量。S为变量的协方差矩阵。 t检验 独立性检验t.test(yx,data),y是一个数值变量,x是一个二分变量。t.test(y1,y2),y1,y2是数值向量。 非独立性检验假定组件差异成正态分布。t.tet(y1,y2,paired=TRUE)时间序列ts(data = NA, start = 1, end = numeric(), frequency = 1,deltat = 1, ts.eps = getOption(ts.eps), class = , names = )as.ts(x, .)强制转化为时间序列is.ts(x)判断是否为时间序列统计分析回归分析a =lm(formula =, data = dataframe)formula:回归函数的表达式(模型公式),如:yx1+x2.,其中的参数是数据框列的名称求模型系数coef(a)提取模型公式formula(a)plot(a)绘画模型诊断图(不理解)预测:predict(a,z),z是新的数据框,利用回归函数a对z进行预测方差分析ANOVA 概述方差分析是用于两个及两个以上样本均数差别的显著性检验。方差分析的因变量是连续型资料,自变量是分类变量,一般都以组别的形式出现。方差分析是比较组间差异,组间差异的来源有(1)随机误差,组内差异(2)控制条件,组间差异。方差分析的基本思想是:通过分析研究不同来源的变异对总变异的贡献大小,从而确定可控因素对研究结果影响力的大小。方差分析的检验方式是F检验(对组间的差异性检验)。 方差分析类别方差分析根据自变量的个数可以有单因素,双因数、三因数等;根据因子的类型,可以分为组内因子和组间因子;另外因变量如果是多个则可以是多元方差分析。 模型拟合方差分析和回归分析都是广义线性模型,因此方差分析也可以用lm()进行。aov(formula,data=dataframe),同lm一样,返回的也是一个拟合值,formula的不同就是分析的因素不同,常用的formula有:yA单因素分析y x+A含有协变量的单因素y A*B双因素,*表示A和B之间的交互(展开为A+B+A:B) 单因素方差分析单因素分析是比较两个或多个组别的因变量均值。fit=aov(AB)summary(fit) 双因素方差分析fit=aov(yA*B)交互性显示:interaction.plot(A,B,y,.) 多元方差分析当因变量不止一个时,可以用多元方差同时分析。manova(c()A.)广义线性模型在许多情况下,因变量可能不符合正态分布,如: 结果变量是类别型的。 结果变量是计数型的(有限,并且均值与方差是相关的,正态分布是相互独立的)。 广义线性模型 线性模型_Y=_0+_(j=1)p?_j X_j 对于广义线性模型,只需要保证参数(?0,?1,.)为线性即可,因此定义广义线性模型如下形式:g(_Y)=_0+_(j=1)p?_j X_j 其中,g()是条件均值的函数(连接函数)。 glm()函数glm(formula,family=family(link=function),data=.)family=.指明了概率分布和相应的连接函数,分布族默认的连接函数:binomial (link = logit)gaussian (link = identity)gamma (link = inverse)inverse.gaussian (link = 1/mu2)poisson (link = log)quasi (link = identity, variance = constant)quasibinomial (link = logit)quasipoisson (link = log)默认的link可以在使用的时候省略。例如,对于logistic回归,假设符合二项分布,则可以用family= binomial (link = logit)来表示。 Logistic回归logistic回归是一个二值检验,因此首先需要将要检验的因子(因变量)转换为二值因子。对于数值变量可以设置界定,上界与下界分别取一个因子。同样的,可以通过p值观测变量的显著性,而重新定义拟合模型。 模型的比较可以使用anova(),设两套线性模型分别是fit.full和fit.reduced,利用卡方检验进行比较,如:anova(fit.reduced,fit.full,test=Chisq)它们的显著性(p值),说明了两个模型的拟合程度。也就是说,在拟合程度相似的情况下,fit.reduced下面的变量确实具有更高的显著性效果,而其他的却不具备。主成分分析(PCA)与因子分析(EFA)主成分分析是一种数据降维方法,将大量相关变量转换为一组低维不相关的变量。主成分分析是观测变量的一个线性组合,权重是通过最大化各主成分所解释的方差获得的。如:PC1=a1X1+a2X2+.akXk探索因子分析是用来发现一组变量的潜在结构的方法。寻找一组更小的、潜在的结构来解释已观测的、显示的变量间的关系。分析的一般步骤:(1)、数据预处理(2)、选择因子模型(3)、判断选择的主成分/因子数目(4)、选择主成分/因子(5)、旋转主成分/因子(6)、解释结果(7)、计算主成分或因子得分 主成分分析 主成分个数确定 根据解释变量方差的积累值的阈值来判断需要的主成分数目; 通过变量间K*K的相关系数矩阵来判断保留的主成分数目。特征值方法:第一主成分与最大特征值关联,第二主成分与第二大的关联,依次下去。 碎石检验绘制了特征值与主成分的图形,在图形变化最大处之上的主成分都可以保留。特征值的判别标准函数:fa.parallel(data,fa=,n.iter=.)绘制结果如图:图中表示了三种特征值的判别准则,蓝线展示了基于观测值的碎石检验,虚线表示根据n.iter个随机数矩阵推导出来的特征值均值,实线表示大于1的特征值准则。图中显示了只需要保留1个主成分即可以保留大部分信息。 提取主成分principal(r,nfactors=,rotate=,scores=)r是相关系数矩阵或原始矩阵;nfactor是主成分数目,默认为1;rotate指定旋转方法,默认最大方差旋转(varimax);scores设定是否需要计算主成分得分(默认不需要)。结果中,PC1栏包含了成分载荷,指出了观测变量与主成分的相关系数;h2栏指出了成分公因子方差-主成分对每个变量的方差解释度;u2栏指成分唯一性-方差无法被主成分解释比例。SS loadings包含了主成分相关联的特征值,Proportion var表示主成分对整体数据集的解释程度。 主成分旋转旋转是将一系列成分载荷变得更容易解释,它们尽可能的对成分去噪。旋转的方法有两种: 使选择的成分保持不相关(正交旋转); 让它们变得相关(斜交旋转)。方差极大旋转,对载荷阵的列进行去噪,使得每个变量只由一组有限变量解释。 获取主成分得分设置scores=TRUE,可以获得每个对象在该主成分上的得分。因此,这里的r只能是原始数据,否则需要另外通过相关系数进行计算。 因子分析因子分析是通过发掘隐藏在数据下的一组较少的、更为基本的无法观测的变量,来解释一组可观测变量的相关性。每个因子被认为可解释多个观测变量间共有的方差(因此又称为公共因子)。模型形式是:Xi=a1F1+a2F2+.akFk+UiUi是Xi独有的部分,无法被公共因子解释。 判断公共因子数目fa.parallel()将fa=both,将同时展现主成分与公共因子分析的结果。 提取公共因子fa(r,nfactors=,n.obs=,rotate=,scores=,fm=)n.obs是观测数,输入相关系数时需要填写;fm设定因子化方法,默认是最小残差法(minres),另外还有:最大似然法(ml),主轴迭代法(pa),加权最小二乘法(wls),广义加权最小二乘法(gls)。 因子旋转 正交旋转结果分析rotate=varimax可以看到reading和vocab在第一因子上载荷较大,picture、blocks和maze在第二因子上载荷较大,而general较为平均。这说明了包含的两个因子-语言类和非语言类。 斜交旋转结果可以看出两者的不同之处。正交旋转,因子分析侧重于结构矩阵(变量与因子的相关系数);斜交分析,因子分析会考虑三个矩阵:因子结构矩阵、因子模式矩阵和因子关联矩阵。R绘图绘图初探 图形参数par()返回当前图形参数的列表par(optionname=value,.)常用参数参数用途值符号与线条pch绘制点时的符号形状025cex符号的大小默认大小的倍数lty线条的类型16lwd线条的宽度默认大小的倍数颜色col绘图颜色字符向量col.axis坐标轴刻度col.lab坐标轴标签col.main标题col.sub副标题fg前景bg背景 自定义属性标题title()坐标轴axis()参考线abline(h=yvalues,v=xvalues)图例legend(location,title,legend,.),legend是图例标签的字符向量文本标注text(),mtext() 图形组合par(mfrow=c(nrows,ncols)layout(matrix),matrix指定了图形组合的位置布局 基本图形 条形图barplot(x,main=,xlab=,ylab=,horiz=FALSE)堆砌与分组条形图barplot(x,main=,xlab=,ylab=,horiz=FALSE,col=c(),legend=c(),besides=FALSE),绘图对象是一个二维矩阵形式 饼状图pie()扇形图,plotrix包的fan.plot(x,labels=c(),适合于大小的比较 直方图hist(x,breaks=n,.),breaks可以指定直方图的条数 核密度图,密度函数density(x)密度图的绘制可以是plot(density()直接绘制,或者是在一幅图上面通过lines(density()进行叠加,注意:在叠加之前由于密度图都小于1,因此要把之前的图范围变为1处理,添加属性freq=FALSE 箱线图boxplot()箱线图分组展示:boxplot(formula,data=dataf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论