单细胞转录组,不同样本的矩阵规格不一样,有些矩阵基因多,有些基因少。现在要合并成一个统一的大矩阵。
例如这里有4个样本的矩阵:GCMat1,GCMat2,GCMat3,GCMat4
细胞名整合:
cells <- c(colnames(GCMat1),colnames(GCMat2),colnames(GCMat3),colnames(GCMat4))
基因名整合:
genes1 <- rownames(GCMat1)
genes2 <- rownames(GCMat2)
genes3 <- rownames(GCMat3)
genes4 <- rownames(GCMat4)
totalgenes <- union(genes1,genes2)
totalgenes <- union(totalgenes,genes3)
totalgenes <- union(totalgenes,genes4)
totalgenes <- unique(totalgenes)
构造一个值全为0的总矩阵及转换成稀疏矩阵:
GCMat <- matrix(0, nrow = length(totalgenes),ncol=length(cells))
GCMat <- as(GCMat,"dgCMatrix")
colnames(GCMat) <- cells
rownames(GCMat) <- totalgenes
把各个样本的细胞基因表达值填充进去:
GCMat[rownames(GCMa1),colnames(GCMat1)] <- GCMat1
GCMat[rownames(GCMat2),colnames(GCMat2)] <- GCMat2
GCMat[rownames(GCMat3),colnames(GCMat3)] <- GCMat3
GCMat[rownames(GCMat4),colnames(GCMat4)] <- GCMat4














网友评论