0

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

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

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

复制质量

4

2 回答 2

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))

在此处输入图像描述

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

于 2013-10-02T15:22:45.990 回答
0

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

于 2013-10-02T14:42:45.897 回答