首页 > 编程知识 正文

matlab相关系数函数,matlab求相关系数矩阵

时间:2023-05-06 14:16:54 阅读:115829 作者:198

相关系数图

俊俊

2016年4月6日

参考: dddqq作品

cor ) )函数可以非常简单快速地计算出连续变量之间的相关系数,但如果变量非常大,返回的相关系数一定会使读者眼花缭乱。

以r拥有的mtcars数据集为例,介绍相关系数映射的创建。

cor(mtcars[1:7]

## mpg cyl disp hp drat wt

# mpg 1.0000000-0.8521620-0.8475514-0.77616840.68117191-0.8676594

# cyl-0.85216201.00000.90203290.8324475-0.69993811.7824958

# disp-0.8475514.90203291.000000.7909486-0.710213930.8879799

# HP-0.77616840.83244750.79094861.000000-0.448759120.6587479

# drat 0.6811719-0.6999381-0.7102139-0.4487591.000000-0.7124406

# wt-0.86765940.78249580.88797990.6587479-0.712440651.00000

# qsec 0.4186840-0.5912421-0.4336979-0.70822340.09120476-0.1747159

## qsec

## mpg 0.41868403

## cyl -0.59124207

## disp -0.43369788

# #惠普- 0.70822339

## drat 0.09120476

## wt -0.17471588

## qsec 1.00000000

很明显,这么多数字聚集在一起,肯定很难快速找到变量之间的相关性大小。 如果能可视化相关系数,就能弥补很多数字的缺陷。 在此介绍corrplot包内的corrplot (函数进行相关系数的可视化。 首先,让我们看看这个函数的语法和一些重要参数。 corrplot(corr,method=c )、circle、square、ellipse、number type=c (完全、低、更新器is.corr=TRUE,title=0),addgrid.col=NULL,addCoef.col=NULL,addCoefasPercent=FALSE,order=c ("定向ward、single、average、mcquitty、median、centroid ) )、addrecectred ) )。 tl.pos=NULL,tl.cex=1,tl.col=“red”,tl.offset=0.4,tl.srt=90,cl.pos=NULL,cl.lim=null cl cl sig.level=0.05,insig=c(「PCH”、“p-value”、“blank”、“n”),pch=4,pch.col=“black”,PCH.cex=圆形、方形、椭圆形、数字、阴影、颜色或饼形类型:指定显示方式。 完全、下三角或上缺省情况下,bg显示为均匀的颜色。 指定图的背景颜色title。 将标题is.corr添加到图中。 是否为相关系数图,默认值为TRUE。 同样,可以可视化非相关系数。 只需将此参数设置为FALSE即可进行诊断。 是否显示对角线上的结果,默认值为TRUE outline。

是否绘制圆形、方形或椭圆形的轮廓,默认为FALSE mar:具体设置图形的四边间距 addgrid.col:当选择的方法为颜色或阴影时,默认的网格线颜色为白色,否则为灰色 addCoef.col:为相关系数添加颜色,默认不添加相关系数,只有方法为number时,该参数才起作用 addCoefasPercent:为节省绘图空间,是否将相关系数转换为百分比格式,默认为FALSE order:指定相关系数排序的方法,可以是原始顺序(original)、特征向量角序(AOE)、第一主成分顺序(FPC)、层次聚类顺序(hclust)和字母顺序,一般”AOE”排序结果都比”FPC”要好 hclust.method:当order为hclust时,该参数可以是层次聚类中ward法、最大距离法等7种之一 addrect:当order为hclust时,可以为添加相关系数图添加矩形框,默认不添加框,如果想添加框时,只需为该参数指定一个整数即可 rect.col:指定矩形框的颜色 rect.lwd:指定矩形框的线宽 tl.pos:指定文本标签(变量名称)的位置,当type=full时,默认标签位置在左边和顶部(lt),当type=lower时,默认标签在左边和对角线(ld),当type=upper时,默认标签在顶部和对角线,d表示对角线,n表示不添加文本标签 tl.cex:指定文本标签的大小 tl.col:指定文本标签的颜色 cl.pos:图例(颜色)位置,当type=upper或full时,图例在右表(r),当type=lower时,图例在底部,不需要图例时,只需指定该参数为n addshade:只有当method=shade时,该参数才有用,参数值可以是negtive/positive和all,分表表示对负相关系数、正相关系数和所有相关系数添加阴影。注意:正相关系数的阴影是45度,负相关系数的阴影是135度 shade.lwd:指定阴影的线宽 shade.col:指定阴影线的颜色

#虽然该函数的参数比较多,但可以组合各种参数,灵活实现各种各样的相关系数图。下面就举几个例子:

library(corrplot)

## Warning: package 'corrplot' was built under R version 3.2.4

corr

#1)参数全部默认情况下的相关系数图

corrplot(corr=corr)

#2)指定数值方法的相关系数图

corrplot(corr=corr, method = "number", col="black", cl.pos="n")

#3)按照特征向量角序(AOE)排序相关系数图

corrplot(corr=corr, order="AOE")

#4)同时添加相关系数值

corrplot(corr=corr, order = "AOE", addCoef.col = "grey")

#5)选择方法为color

corrplot(corr=corr, method = "color", order="AOE", addCoef.col = "grey")

#我觉得这幅图比上面的圆形图要清爽很多

#6)绘制圆形轮廓相关系数图

corrplot(corr = corr, col = "gray", order = "AOE", outline = T, cl.pos = "n")

#7)自定义背景色

corrplot(corr = corr, col="gray", bg="gold2", order = "AOE", cl.pos = "n")

#8)混合方法之上三角为圆形,下三角为数字

corrplot(corr=corr, order="AOE", type="upper", tl.pos = "d")

corrplot(corr=corr, add=T, type="lower", method = "number", order = "AOE", diag = F, tl.pos = "n", cl.pos = "n")

#这幅图将颜色、圆的大小和数值型相关系数相结合,更容易发现变量之间的相关性

#混合方法之上三角为圆形,下三角为方形

corrplot(corr = corr,order="AOE",type="upper",tl.pos="d")

corrplot(corr = corr,add=TRUE, type="lower", method="square",order="AOE",diag=FALSE,tl.pos="n", cl.pos="n")

#混合方法之上三角为圆形,下三角为黑色数字

corrplot(corr = corr,order="AOE",type="upper",tl.pos="tp")

corrplot(corr = corr,add=TRUE, type="lower", method="number",order="AOE", col="black",diag=FALSE,tl.pos="n", cl.pos="n")

#个人更倾向于上图的展现形式,既清爽又能很好的反映变量间的相关系数。

#以层次聚类法排序

corrplot(corr = corr, order = "hclust")

#以层次聚类法排序,并绘制3个矩形框

corrplot(corr = corr, order="hclust", addrect = 3, rect.col = "black")

 有关更多相关系数图的绘制可参见corrplot()函数的帮助文档,文档中还包括了很多案例,感兴趣的可以去参考的看看。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。