R.相关系数图的绘制

为了可视化两变量或者多个变量之间的相关关系,我们可以绘制相关图,

再做相关图的基础上再介绍一种用来查看数据分布的skimr包

此包在查看数据的结尾可以显示直方图,可以更加简洁的看到数据的分布

> skim(data)
-- Data Summary ------------------------
                           Values
Name                       data  
Number of rows             418   
Number of columns          7     
_______________________          
Column type frequency:           
  numeric                  7     
________________________         
Group variables            None  

-- Variable type: numeric ---------------------------------------
# A tibble: 7 x 11
  skim_variable n_missing complete_rate  mean    sd    p0   p25
* <chr>             <int>         <dbl> <dbl> <dbl> <dbl> <dbl>
1 SQ1                   0             1  2.12  1.21     0     1
2 SQ2                   0             1  1.58  1.37     0     0
3 SQ3                   0             1  1.82  1.27     0     1
4 SQ4                   0             1  1.50  1.21     0     1
5 SQ5                   0             1  1.41  1.28     0     0
6 SQ6                   0             1  1.81  1.39     0     1
7 Aggregata             0             1 10.2   6.36     0     6
    p50   p75  p100 hist 
* <dbl> <dbl> <dbl> <chr>
1     2     3     4 ▂▃▇▃▃
2     2     2     4 ▇▅▇▃▃
3     2     3     4 ▅▆▇▃▃
4     1     2     4 ▆▇▇▃▂
5     1     2     4 ▇▆▆▂▂
6     2     3     4 ▇▆▇▅▅
7    10    14    24 ▆▇▇▃▃

接下来我们正式开始绘制相关系数图

开始之前要下载corrplot包

绘制相关图使用的corrplot包

以下为代码

library(corrplot)
library(skimr)#此包主要用来查看数据分布
library(readr)
data<-read.csv(file.choose())
skim(data)
## 可视化相关系数
data_cor <- cor(data)
corrplot.mixed(data_cor,tl.col="black",tl.pos = "d",number.cex = 0.8)

 

data<-data.matrix(data) #将数据进行矩阵变换
M<-cor(data) #计算相关系数
par(ask=TRUE,cex=0.8)
# ask=TRUE表示后边的图形在这个设定的面板上进行,cex=0.8表示数值大小为0.8倍
plot1<-corrplot(M,method="number",col="black",tl.col = "black")
#仅计算相关系数的数值,不添加颜色信息

col1<-colorRampPalette(c("#7F0000","red","#FF7F00","yellow",
                         "white","cyan","#007FFF","blue",
                         "#00007F"))

#设定基础颜色(具体符合意思在参考资料)
corrplot(M,method="color",col=col1(20),cl.length=21,order="AOE",
         addCoef.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,具体内容超出本文范围,不在讨论之列,addCoef.col="grey"表示图上相关性数字的颜色为灰色)

corrplot(M,method="color",col=col1(20),cl.length=21,order="AOE",
         addCoef.col="grey",cl.pos="n")  #cl.pos="n"表示没有颜色标签

 

corrplot(M,method="color",col=col1(20),cl.length=21,order="AOE",
         addCoef.col="grey",cl.pos="n",tl.pos="n")  #tl.pos="n" 表示没有文本标签

 

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",tl.col = "black",tl.cex = 1)

 

col3 <- colorRampPalette(c("red", "white", "blue"))
corrplot(M,method="color",col=col3(20),cl.length=21,order="AOE",
         addCoef.col="grey",,tl.col = "black",tl.cex = 1)

col4 <- colorRampPalette(c("#7F0000","red","#FF7F00","yellow",
                           "#7FFF7F", "cyan", "#007FFF", 
                           "blue","#00007F"))
corrplot(M,method="color",cl.length=10,order="AOE",col=col4(20),
         addCoef.col="grey",tl.col = "black",tl.cex = 1,cl.lim = c(0,1),cl.ratio = 0.1)#cl.lim表示颜色标签的范围

在这里使用colorRampPalette()函数调制基础色彩的时候,括号中放置颜色的顺序,默认为相关性从低到高的顺序,也就是说相关性越高的版块使用的颜色越靠后。所以在调制颜色时,根据自己的喜好排列颜色的顺序。

 

 以上就是今天的内容!!!

  • 14
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小庞统计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值