1、。相关性分析gaom在我们平时分析的时候,经常会遇到样品间的相关性检验分析,并以此判断对我们后续分析的影响。今天主要跟大家讨论一下简单的相关性分析以及结果展示。利用的测试数据还是之前我们在geo数据库中随便找的一份表达谱数据。首先还是导入数据,进行简单分析,获取相关数值。rm(list=ls()#先把我们的R清空一下data-read.table(file = C:UsersgaomDesktopR语言绘图相关性分析test_data.txt,header = T,row.names =1,sep=t)#读取数据cor(data,method = pearson)#方法可选pearson、ke
2、ndall、spearman。# T01 T02 T03 T04 T05 T06 T07# T01 1.0000000 0.9626878 0.9820587 0.9775637 0.9672888 0.9664156 0.9752635# T02 0.9626878 1.0000000 0.9871793 0.9739935 0.9779155 0.9794141 0.9786400# T03 0.9820587 0.9871793 1.0000000 0.9823576 0.9819684 0.9808063 0.9833352# T04 0.9775637 0.9739935 0.982
3、3576 1.0000000 0.9915693 0.9890907 0.9815730# T05 0.9672888 0.9779155 0.9819684 0.9915693 1.0000000 0.9943036 0.9805366# T06 0.9664156 0.9794141 0.9808063 0.9890907 0.9943036 1.0000000 0.9798487# T07 0.9752635 0.9786400 0.9833352 0.9815730 0.9805366 0.9798487 1.0000000# T08 0.9714801 0.9791369 0.981
4、6482 0.9814655 0.9804464 0.9796599 0.9938647# T09 0.9746475 0.9802358 0.9845114 0.9814857 0.9800746 0.9794935 0.9947428# T10 0.9636498 0.9717902 0.9757652 0.9759936 0.9771073 0.9755922 0.9850377# T11 0.9739732 0.9677072 0.9775576 0.9796979 0.9778722 0.9760231 0.9876567# T12 0.9613186 0.9685109 0.973
5、2389 0.9739145 0.9757272 0.9737234 0.9855969# T08 T09 T10 T11 T12# T01 0.9714801 0.9746475 0.9636498 0.9739732 0.9613186# T02 0.9791369 0.9802358 0.9717902 0.9677072 0.9685109# T03 0.9816482 0.9845114 0.9757652 0.9775576 0.9732389# T04 0.9814655 0.9814857 0.9759936 0.9796979 0.9739145# T05 0.9804464
6、 0.9800746 0.9771073 0.9778722 0.9757272# T06 0.9796599 0.9794935 0.9755922 0.9760231 0.9737234# T07 0.9938647 0.9947428 0.9850377 0.9876567 0.9855969# T08 1.0000000 0.9942297 0.9858170 0.9849012 0.9837345# T09 0.9942297 1.0000000 0.9849167 0.9850892 0.9839299# T10 0.9858170 0.9849167 1.0000000 0.98
7、67687 0.9878700# T11 0.9849012 0.9850892 0.9867687 1.0000000 0.9919710# T12 0.9837345 0.9839299 0.9878700 0.9919710 1.0000000获得每个样品之间的相关系数,下面让我们把这些结果可视化。先利用基本函数plot展示下我们样品的结果。plot(data,1:6,pch=19,col=rgb(0,0,100,50,maxColorValue=255)#我们截取前面6个样品看看他们的相关性从上面的结果来看T01、T02、T03之间的相关性要稍微差些,而T04、T05、T06之间的相关
8、性要好的多。下面我们根据cor函数的结果做成类似热图的形式。library(lattice)cor_data-as.matrix(cor(data,method = pearson)#获取相关系数矩阵levelplot(cor_data)#直接利用levelplot函数进行绘图 上图中颜色非常淡,所以我们想考虑一下自己把这个图再进化一下。col-colorRampPalette(c(green,black,red),space = rgb)#我们自己设置填充颜色levelplot(cor_data,main =cor plot test,xlab =,ylab =,col.regions =
9、col(100)#main对应的是图的标题,以及xlab、ylab分别对应x轴和y轴的标题,这里表示不添加,所以都是,引号里面是没东西的从图中我们可以看出T04、T05、T06以及T07、T08、T09这两组的相关性就更好。当然,我们也可以直接用pheatmap这个画热图的函数将结果展示出来。library(pheatmap)pheatmap(cor_data,cluster_rows = F,cluster_cols = F,display_numbers = T,number_format = %.4f,color = col(100),main = correlation test,nu
10、mber_color = white,fontsize_number = 5)#这里把聚类树部分都去除了,同时显示小数点后4位有效数字,并自己颜色设置为白色,同时可以利用fontsize_number设置数字大小在这里我们把对应的相关系数值直接标记在了图中。也不只是说就pheatmap才能标记处数字。library(pcaPP)# Warning: package pcaPP was built under R version 3.3.2cor1-cor(data,method = pearson)plotcov(cor1,method1 = correlation)# Warning in
11、plot.xy(xy.coords(x, y), type = type, .): 所提供的颜色值既不是# 数字也不是字符除了这些函数之外。我们的大ggplot表示画起来也无压力,只是我们需要稍微倒腾下数据。library(reshape2)# Warning: package reshape2 was built under R version 3.3.2library(ggplot2)# Warning: package ggplot2 was built under R version 3.3.2cor_data2-melt(cor(data)p-ggplot(cor_data2,aes
12、(x=cor_data2$Var1,y=cor_data2$Var2,fill=cor_data2$value)+geom_tile()+scale_fill_gradient(low = green,high = red)p上述的展现方式其实主要还是通过不同颜色的方式进行直观展示。但实际在我们再展示结果的时候,不仅仅局限于只是颜色改变。library(corrgram)# Warning: package corrgram was built under R version 3.3.2corrgram(data,lower.panel=panel.pts,upper.panel=panel.pie,text.panel=panel.txt) 利用corrgram函数能画出各种更酷炫的相关性结果。上图中的圆形图中蓝色所占面积越大,表示相关系数值越接近1。THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考-可编辑修改-
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100