关于相关性,表示数据之间的相互依赖关系。但需要注意,数据具有相关性不一定意味着具有因果关系。
相关性在组学数据挖掘中应用非常广,如样本的重复检验、基因的共表达分析、微生物群落的共发生网络分析等。
相关性分析其实较为简单,用R语言自带的cor()函数非常容易计算得到两两变量间的相关系数。下面我们就来看下如何用R语言实现相关性计算并绘制带有显著性星标的相关性热图。
1.相关系数计算
以R自带的数据集mtcars为例,直接计算矩阵或数据框对应列之间的相关性系数。
#查看范例数据的前6行;
head(mtcars)
#计算mtcars数据框的相关性系数;
cor<- cor(mtcars)
class(cor)
#查看得到相关性系数矩阵的前5行,前5列;
cor[1:5,1:5]
2.绘图样式
#安装R包;
install.packages("corrplot")
#载入相关R包;
library(corrplot)
#默认的绘制方法是 "circle",图形的样式还可以是"square"、"ellipse"、"pie"和"color"等,其中method = "number"时,只显示相关性系数;
corrplot(cor, method = "square")
#可绘制lower、lower、full三种布局方式的热图,当然也可以混合显示;
corrplot.mixed(cor, lower = "square", upper = "circle", tl.col = "black")
3.聚类顺序调整
#常见的排序方式有 "AOE", "FPC", "hclust", "alphabet";
#"AOE" 是指按特征向量的角度排序(angular order of the eigenvectors);
#"FPC" 是按照 first principal component 的顺序排序;
#"hclust"是按照分层聚类的结果排序;
#"alphabet"按照名称字母顺序排序。
corrplot(cor, order = "hclust")