R语言绘制相关性图和矩阵(小白入门自学记录)

用到的还是mtcars数据集(数据集截图见上篇,自己在rstudio里看也可以):

题目:用相关性矩阵展示cyl,hp,drat,qsec,vs的关联,设置显著性级别为0.01,非显著性相关变量为空白。

1、首先调用数据集,找到对应的数据列进行命名。

# Task 2: correlation matrix
# use the mtcars data for this task.
data("mtcars")

# show the correlation matrix plot for the variables cyl, hp, drat, qsec, vs
# set significance level at 0.01, and leave non-significant coefficients blank
my_data <- mtcars[, c(2,4,5,7,8)]  # select columns 第1列对应1,不是0
names(mtcars[, c(2,4,5,7,8)]) #给对应的数据列命名

2、计算关联参数,得到关联表。

res <- cor(my_data) #计算关联参数
round(res, 2)  #保留小数点后2位

3、安装Hmisc包,用于计算p值。

install.packages("Hmisc")
library(Hmisc) #用Hmisc包,Hmisc包中的函数rcorr()可用于计算显著性级别
res2 <- rcorr(as.matrix(my_data)) #返回相关系数和p值,p值用于反映相关性显著情况
res2
# The output of the function rcorr() is a list containing the following elements :
# r: the correlation matrix 
# n: the matrix of the number of observations used in analyzing each pair of variables 
# P: the p-values corresponding to the significance levels of correlations.

# Extract the correlation coefficients
res2$r

# Extract p-values
res2$P

其中rcorr函数的返回结果如下(res2$r和res2$P是用来提取r和P结果):

       cyl    hp  drat  qsec    vs
cyl   1.00  0.83 -0.70 -0.59 -0.81
hp    0.83  1.00 -0.45 -0.71 -0.72
drat -0.70 -0.45  1.00  0.09  0.44
qsec -0.59 -0.71  0.09  1.00  0.74
vs   -0.81 -0.72  0.44  0.74  1.00

n= 32 


P
     cyl    hp     drat   qsec   vs    
cyl         0.0000 0.0000 0.0004 0.0000
hp   0.0000        0.0100 0.0000 0.0000
drat 0.0000 0.0100        0.6196 0.0117
qsec 0.0004 0.0000 0.6196        0.0000
vs   0.0000 0.0000 0.0117 0.0000    

4、绘制相关性图

install.packages("corrplot")
library(corrplot) #用corrplot()函数来绘制相关图
corrplot(res, type = "upper", # 仅显示上三角矩阵
         order = "hclust",    # 使用层次聚类的变量排序
         tl.col = "black",    #文本标签设置为黑色
         tl.srt = 45,         # 45度的标签显示
         )        

corrplot(res2$r, type="upper", order="hclust",     
         p.mat = res2$P, sig.level = 0.01, insig = "blank")    # Insignificant correlations are leaved blank
#正相关性以蓝色显示,负相关性以红色显示。不显著的用空白代替。
#颜色深浅和圆的大小与相关系数成正比。
#在相关图的右侧,图例颜色显示相关系数和相应的颜色。

输出图如下,正相关性以蓝色显示,负相关性以红色显示。不显著的用空白代替;颜色深浅和圆的大小与相关系数成正比;在相关图的右侧,图例颜色显示相关系数和相应的颜色。

5、绘制关联矩阵图。

install.packages("PerformanceAnalytics")
library("PerformanceAnalytics")

chart.Correlation(my_data, histogram=TRUE, pch=19) #关联矩阵

矩阵图解析:每个变量的分布显示在对角线上。

在对角线的底部:显示带有拟合线的二元散点图
在对角线的顶部:相关性的值加上作为恒星的显著性水平
每个重要级别都与一个符号相关联:
# p-values(0, 0.001, 0.01, 0.05, 0.1, 1) <=> symbols(“***”, “**”, “*”, “.”, ” “)

完成!

版权声明:本文为博主作者:蛋肠加蛋不加香菜原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_46714992/article/details/133636212

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2024年4月22日
下一篇 2024年4月22日

相关推荐