通过Hmisc包可以连续性且符合正态分布的变量之间的线性相关系数,用到的是rcorr这个函数
以TCGA中的肿瘤表达矩阵为例,分析不同基因表达量的相关性
加载表达矩阵和需要的R包
load(exp.Rdata) # 表达矩阵data = t(exp) # 分析基因的话 要转置library(Hmisc)library(dplyr)library(pheatmap)
data如图 ↓
皮尔逊相关系数分析代码:
r = rcorr(data)$r # 分析任意两个基因之间表达量的相关系数p = rcorr(data)$P # 上一步的显著性tmp = matrix(case_when(p<0.01~"**",p<0.05~"*",T~""),nrow = nrow(p)) # 这句是用dplyr的函数,为了画图的
我是喜欢做热图表示的
bk = c(seq(-0.2,-0.01,by=0.01),seq(0,0.7,by=0.01))p1 = pheatmap(t(r),cluster_rows = F,cluster_cols = F,color = c(colorRampPalette(colors = c("#92b7d1","white"))(20),colorRampPalette(colors = c("white","#d71e22"))(70)),breaks=bk,display_numbers = t(tmp),fontsize_number = 5,cellheight = 20,cellwidth = 20,border_color = 'white',angle_col = 45)
看图!
