可视化重复之间的相关性

时间:2013-10-02 13:54:24

标签: r data-visualization correlation

通过计算每个细胞系的生物学重复对的Pearson相关系数来测试生物学重复的质量。

A<-data.frame(A1=rnorm(100), A2=rnorm(100),
          A3=rnorm(100), B1=rnorm(100),
          B2=rnorm(100))

某些数据的情况有两个重复,其他情况是三个并且不包含缺失值。如何获得这样的情节来比较重复?

Quality of replicates

2 个答案:

答案 0 :(得分:1)

这是一种可能的方式。但是,这可能是一种更简洁的方法。

首先,找出哪些列是哪些列的重复。

fullnames<-colnames(A)
basenames<-substr(fullnames,1,nchar(fullnames)-1)
repnum<-as.integer(substr(fullnames,nchar(fullnames),nchar(fullnames)))

现在计算相关矩阵,并提取所需的数据:

ca<-cor(A)
corMask<-upper.tri(ca) & basenames[col(ca)]==basenames[row(ca)]
corSub<-ca[corMask]
nameSub<-basenames[row(ca)[corMask]]
repnumSub<-apply(cbind(repnum[row(ca[corMask]],repnum[col(ca[corMask]]),1,paste,collapse="-")

然后画出情节:

require(ggplot2)
plotdata<-data.frame(name=nameSub,cor=corSub,replicas=repnumSub)
ggplot(plotdata,aes(x=name,y=cor,pch=replicas))+geom_point()

以下是样本数据集:

set.seed(123)
A<-data.frame(A1=rnorm(100), A2=rnorm(100),A3=rnorm(100),
          B1=rnorm(100),B2=rnorm(100),
          C1=rnorm(100),C2=rnorm(100),C3=rnorm(100))

enter image description here

然后,您可以添加颜色或更改绘图限制等,使其看起来像您想要的那样。

答案 1 :(得分:0)

我建议更好的代表是使用热图。热图可视化重复之间的相关性。因此,来自同一批次的重复将显示出比其他细胞系高得多的相关性。因此,最终您将在热图中的单元格对角线处看到接近1.0的值。热图还显示来自不同细胞系的重复之间的相关性差。要执行此类绘图功能,您可以使用{gplot}包中的heatmap.2