通过计算每个细胞系的生物学重复对的Pearson相关系数来测试生物学重复的质量。
A<-data.frame(A1=rnorm(100), A2=rnorm(100),
A3=rnorm(100), B1=rnorm(100),
B2=rnorm(100))
某些数据的情况有两个重复,其他情况是三个并且不包含缺失值。如何获得这样的情节来比较重复?
答案 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))
然后,您可以添加颜色或更改绘图限制等,使其看起来像您想要的那样。
答案 1 :(得分:0)
我建议更好的代表是使用热图。热图可视化重复之间的相关性。因此,来自同一批次的重复将显示出比其他细胞系高得多的相关性。因此,最终您将在热图中的单元格对角线处看到接近1.0的值。热图还显示来自不同细胞系的重复之间的相关性差。要执行此类绘图功能,您可以使用{gplot}包中的heatmap.2
。