相关性分析是生物信息学中常用的分析方法,可以用来分析菌群与菌群的关联,菌群与因子的关联等等。本文使用R语言内置函数cor()计算变量之间的相关系数,并用corrplot包进行可视化。(本文测试数据为R语言内置数据集mtcars)。
计算相关性矩阵
运用R语言内置函数cor()来计算相关系数:cor(x,method=c("pearson","kendall","spearman")),其中x是数据框矩阵,而pearson,kendall和spearman是计算相关性的三种方法,函数默认为pearson。
可视化相关系数矩阵
本文使用corrplot包进行相关性矩阵的可视化,corrplot(https://github.com/taiyun/corrplot)是发表在github上的开源R包。
具体过程如下:
install.packages("corrplot") #安装corrplot包
data(mtcars) #加载数据集
mydata<- mtcars[, 1:7]
head(mydata, 7) #查看数据前7行
cordata <- cor(mydata,method ="spearman") #函数cor计算相关性
round(cordata, 2) #保留两位小数,得到相关性矩阵
##corrplot()函数进行相关矩阵的可视化
该函数通过颜色深浅可视化显著相关程度。参数主要有:
corrplot(corr,method=c("circle","square","ellipse","number","shade","color","pie"),type=c("full","lower","upper"),order=c("original","AOE","FPC","hclust","alphabet"),tl.cex=1,tl.col="red",order=c("original","AOE","FPC","hclust","alphabet"),hclust.method=c("complete","ward","ward.D","ward.D2","single","average","mcquitty","median","centroid"),tl.cex = 1,tl.col="red",...)
接下来简单介绍几个参数用法及展示其可视化:
1.矩阵类型,通过type参数,“upper”,“lower”, “full”,分别显示上三角,下三角还是全部。
corrplot(cordata, type="lower") #下三角矩阵
![]() |
corrplot(cordata, type="full",method="circle") #全矩阵
![]() |
2.method参数设置图形可视化的形状,method=c("circle","square","ellipse","number","shade","color","pie"),共有7种形状。
corrplot(cordata,type="full",method="ellipse") #设置图形为椭圆
![]() |
corrplot(cordata,type="full",method="pie") #设置图形为饼图
![]() |
3.通过函数corrplot.mixed绘制图形数值混合矩阵。
corrplot.mixed(cordata) #绘制图形数字混合矩阵
![]() |
corrplot.mixed(cordata,lower="ellipse",upper="circle",tl.col="black") #下三角为圆形,上三角为椭圆
![]() |
4.order参数将结果按照不同的聚类方式排序,addrect参数添加分组,具体如下所示。
corrplot(cordata,order="hclust",addrect=2) #以hclust聚类,分成2组
![]() |
corrplot(cordata,order="hclust",addrect=2,col=heat.colors(100)) #修改颜色
![]() |
小锐课堂,收获颇丰
更多好货,敬请期待
我们下期再见!!!