R语言相关分析和典型相关分析_第1页
R语言相关分析和典型相关分析_第2页
R语言相关分析和典型相关分析_第3页
R语言相关分析和典型相关分析_第4页
R语言相关分析和典型相关分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

R语⾔相关分析和典型相关分析@R语⾔相关分析与典型相关分析#相关分析与典型相关分析#pearson相关系数a=c(1,3,5,7,9);b=c(1,4,6,9,10)cor(a,b)#pearson相关系数cor.test(a,b)#检验相关系数的显著性cor(iris[1:4])#相关系数,参数填数据集,则计算相关系数矩阵#spearman相关系数,亦即秩相关系数#spearman和kendall都是等级相关系数,亦即其值与两个相关变量的具体值⽆关,⽽仅仅与其值之间的⼤⼩关系有关。#spearman相关系数,亦即秩相关系数,根据随机变量的等级⽽不是其原始值衡量相关性的⼀种⽅法。m=c(1,2,4,3);n=c(100,101,102,103)m1=c(30,31,35,34);n1=c(85,87,90,93)cor(m,n);cor(m1,n1)cor(m,n,method=“spearman”);cor(m1,n1,method=“spearman”)cor.test(m,n,method=“spearman”);cor.test(m1,n1,method=“spearman”)#spearman相关系数的计算可以由计算pearson系数的⽅法,只需要把原随机变量中的原始数据替换成其在随机变量中的等级顺序即可:acf#⾃相关和协⽅差函数acf(airmiles,type=‘correlation’,lag.max=10)#⾃相关pacf(airmiles,lag.max=10)#偏⾃相关pairs(~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width,data=iris,main=“SimpleScatterplotMatrix”)#散点图矩阵install.packages(“scatterplot3d”)#3D散点图library(scatterplot3d)Sepal.Length,irisscatterplot3d(irisPetal.Length,iris$Petal.Width)install.packages(“corrgram”)#有兴趣的同学⾃⼰练习library(corrgram)#1、设置排序处理corrgram(mtcars,order=TRUE)#2、设置上下三⾓⾯板形状corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie)#3、只显⽰下三⾓部分corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=NULL)#4、调整⾯板颜⾊corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,col.regions=colorRampPalette(c(“darkgoldenrod4”,“burlywood1”,“white”,“darkkhaki”,“darkgreen”)))install.packages(“corrplot”)library(corrplot)#1、使⽤不同的method绘制相关矩阵图methods<-c(“circle”,“square”,“ellipse”,“pie”,“shade”,“color”)par(mfrow=c(2,3))t0=mapply(function(x){corrplot(cor(mtcars),method=x,order=“AOE”)},methods)par(mfrow=c(1,1))#2、设置method=color绘制热⼒矩阵图corrplot(cor(mtcars),method=“color”,order=“AOE”,tl.col=“black”,tl.srt=45,addCoef.col=“black”,col=colorRampPalette(c("#7F0000",“red”,"#FF7F00",“yellow”,“white”,“cyan”,“#007FFF”,“blue”,"#00007F"))(20))#3、绘制上下三⾓及不同⾊彩的相关矩阵图library(RColorBrewer)par(mfrow=c(2,2))corrplot(cor(mtcars),type=“lower”)corrplot(cor(mtcars),type=“lower”,order=“hclust”,col=brewer.pal(n=8,name=“RdYlBu”))corrplot(cor(mtcars),type=“upper”,order=“AOE”,col=c(“black”,“white”),bg=“lightblue”)corrplot(cor(mtcars),type=“upper”,order=“FPC”,col=brewer.pal(n=8,name=“PuOr”))par(mfrow=c(1,1))d<-sqrt(1-cor(mtcars)^2)hc<-hclust(as.dist(d))plot(hc)rect.hclust(hc,k=3)install.packages(“pvclust”)library(pvclust)cluster.bootstrap<-pvclust(mtcars,nboot=1000,method.dist=“correlation”)plot(cluster.bootstrap)pvrect(cluster.bootstrap)#⾃⼰练习部分结束#典型相关:指两组变量之间的相关关系,不是两个变量之间相关关系,也不是两组变量之间两两组合的简单相关#两组变量作为整体的相关性#例如体育运动和⾝体状况的相关性,体育运动包括跑步,篮球,⾜球,乒乓球,游泳等变量,⾝体状况包括⾝⾼,体重,肺活量,⾎压等变量#以R语⾔⾃带的iris为例#1、提取iris的前4个数值列,并进⾏标准化处理data0=scale(iris[1:4])#2、计算这4个变量的协⽅差,由于经过标准化处理,这样得到的也是相关系数M=cov(data0)#3、将M进⾏分块,1:2两个变量⼀组,3:4是另外⼀组,并进⾏两两组合X11=M[1:2,1:2]X12=M[1:2,3:4]X21=M[3:4,1:2]X22=M[3:4,3:4]#4、按公式求解矩阵A和BA=solve(X11)%%X12%%solve(X22)%%X21B=solve(X22)%%X21%%solve(X11)%%X12#5、使⽤eigen函数求解典型相关系数如下eV=sqrt(eigen(A)$values)eV#6、进⾏验证#…⽐较A与XΛX^(-1)是否相等round(A-eigen(A)values)%*%solve(eigen(A)$vectors),3)Sepal.LengthSepal.WidthSepal.Length00Sepal.Width00#…⽐较B与YΛY^(-1)是否相等round(B-eigen(B)values)%*%solve(eigen(B)$vectors),3)#…求解A对应的特征向量并计算典型向量C1C1=data0[,1:2]%*%eigen(A)$vectors#…验证C1对应各变量的标准差是否为1,同时查看均差apply(C1,2,sd)[1]1.0411960.951045apply(C1,2,mean)[1]-4.880321e-16-2.759430e-17#…由于均值为0,标准差不为1,这⾥对特征向量进⾏伸缩变换eA=eigen(A)$vectors%%diag(1/apply(C1,2,sd))#…再次验证⽅差和均值C1=data0[,1:2]%%eAapply(C1,2,sd)[1]11apply(C1,2,mean)[1]-4.667693e-16-2.745503e-17vectorsvectors#…可见,特征向量已经满⾜要求,同理对B可得C2=data0[,3:4]%*%eigen(B)$vectorsapply(C2,2,sd)[1]0.62912360.2003530apply(C2,2,mean)[1]-1.403572e-17-9.859870e-18eB=eigen(B)$vect

温馨提示

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

评论

0/150

提交评论