新浪博客

利用R绘制相关分析图

2016-11-21 15:38阅读:
相关分析是观察数据间关系的一种分析方法,由于分析结果能直观的表现出数据间的关系,因此是一种常用的分析方法。
​步骤:
setwd('E:/packages') #修改默认路径
mydata<-read.table('​gzwj.csv',header=TRUE,sep=',') #导入数据
library(corrgram) #载入“corrgram'包
​mydata1<-na.omit(mydata) #将未缺失数据重新赋值
corrgram(mydata1,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,diag.panel=panel.minmax,main='correlogram of mydata intercorrelations')
#绘制相关分析图,order=TRUE表示相关矩阵将使用主成分分析法对变量重新排序(能够使二元变量的关系模式更加明显),lower.panel=panel.shade,下三角的图形用阴影深度表示相关性大小​,upper.panel=panel.pie ,上三角图形用饼图填充比例来表示相关性。(panel.ellipse用平滑曲线和置信椭圆表示相关性,panel.pts用散点图表示相关性)text.panel=panel.txt主对角线输出的变量名字。diag.panel=panel.minmax主对角线输出变量的最小最大值。main='correlogram of mydata intercorrelations' 添加标题
利用R绘制相关分析图
shade+pie
利用R绘制相关分析图ellipse+pts(有两个指标不是正定的,没画出来……)
利用R绘制相关分析图shade+pts
二、第二种分析相关性的安装包​
步骤:​
setwd('E:/packages')​
mydata<-read.table('gzwj.csv',header=TRUE,sep=',')​
install.packages('corrplot')​
library(corrplot)​
data<-na.omit(mydata) #将无缺失值数据重新赋值​
data<-data.matrix(data) #将数据进行矩阵变换​
M<-cor(data) #计算相关系数​
par(ask=TRUE,cex=0.8)
# ask=TRUE表示后边的图形在这个设定的面板上进行,cex=0.8表示数值大小为0.8倍
corrplot(M,method='number',col='black')
#仅计算相关系数的数值,不添加颜色信息​​
利用R绘制相关分析图相关系数图
col1<-colorRampPalette
(c('#7F0000','red','#FF7F00','yellow','white','cyan','#007FFF','blue','#00007F'))​
#设定基础颜色​(具体符合意思在参考资料)​
corrplot(M,method='color',col=col1(20),cl.length=21,order='AOE',
add.Coef.col='grey')​
# method可以有7种,circle(圆)、sequare(正方形)、ellipse(椭圆)、number(数字)、shade(阴影)、color(颜色)、pie(扇形) ,col=col(20)表示不同颜色的差别量,数字越大越容易区别不同相关性数值之间的差别,cl.length=21表示图例上标尺的密度为21, order='AOE'按照特征向量的夹角顺序排列(AOE:angular order of the eigenvectors,具体内容超出本文范围,不在讨论之列,add.Coef.col='grey'表示图上相关性数字的颜色为灰色)​
利用R绘制相关分析图col1的结果
corrplot(M,method='color',col=col1(20),cl.length=21,order='AOE',
addCoef.col='grey',cl.pos='n')​ #cl.pos='n'表示没有颜色标签
利用R绘制相关分析图没有颜色标签
corrplot(M,method='color',col=col1(20),cl.length=21,order='AOE',addCoef.col='grey',cl.pos='n',tl.pos='n') #tl.pos='n' 表示没有文本标签​
利用R绘制相关分析图没有文本标签和颜色标签
col2<-colorRampPalette(c('#67001F','#B2182B', '#D6604D', '#F4A582', '#FDDBC7', '#FFFFFF', '#D1E5F0', '#92C5DE', '#4393C3', '#2166AC', '#053061'))​
> corrplot(M,method='color',col=col2(20),cl.length=21,order='AOE',
addCoef.col='grey')​​
利用R绘制相关分析图col2的结果
col3 <- colorRampPalette(c('red', 'white', 'blue'))​
corrplot(M,method='color',col=col3(20),cl.length=21,order='AOE',
addCoef.col='grey')​
利用R绘制相关分析图 color3的结果
col4 <- colorRampPalette(c('#7F0000','red','#FF7F00','yellow','#7FFF7F', 'cyan', '#007FFF', 'blue','#00007F'))​
corrplot(M,method='color',col=col4(21),cl.length=31,order='AOE',
addCoef.col='grey')​
利用R绘制相关分析图col4的结果
总结:不同的绘图方式和颜色配比能够获得不同的结果,可以根据自己的偏好获得想要的图形。​
参考资料:
1.https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
2.http://research.stowers-institute.org/efg/R/Color/Chart/​

我的更多文章

下载客户端阅读体验更佳

APP专享