假设有100个人,分别检查了10万个miRNA的表达情况和1000个基因的突变情况,然后想基于这100个人的上述检测结果,分别分析每个miRNA与每个突变基因之间两两的相关性,并将所有的结果输出到一个新的数据库,应该如何用R来写程序?
看上去是一件非常复杂的事情,自己并非生物信息学专业的,所以不清楚Bioconductor等软件是否有更成熟快速的方法来完成这个程序。
自己简单写了一个示例程序,并验证结果没有问题,但是如果有学生物信息学的老师熟悉采用更加快捷方便的程序来完成该过程,非常欢迎指点。
- A <- matrix(rnorm(12,0, 1),nrow=3,ncol=4)
- D <- matrix(rnorm(24,0, 1),nrow=6,ncol=4)
- rownames(A) <- c("x1","x2","x3")
- rownames(D) <- c("y1","y2","y3","y4","y5","y6")
- A
- D
- pvalcor<-c()
- estcor<-c()
- finalpval <-c()
- finalest <-c()
- for (j in 1:dim(D)[1]){
- for (i in 1:dim(A)[1]){
- correlation<-cor.test(D[j,],A[i,])
- pvalcor[i]<-correlation$p.value
- estcor[i]<-correlation$estimate
- }
- finalpval <-cbind(finalpval,pvalcor)
- finalest <-cbind(finalest,estcor)
- }
- finalpval
- finalest
- ## validate the abovementioned function
- cor.test(D[1,],A[1,])
- cor.test(D[2,],A[1,])
- cor.test(D[3,],A[1,])
- cor.test(D[4,],A[1,])
- cor.test(D[5,],A[1,])
- cor.test(D[6,],A[1,])


雷达卡



京公网安备 11010802022788号







