]> git.donarmstrong.com Git - rsem.git/blobdiff - EBSeq/R/TopCts.R
Included EBSeq for downstream differential expression analysis
[rsem.git] / EBSeq / R / TopCts.R
diff --git a/EBSeq/R/TopCts.R b/EBSeq/R/TopCts.R
new file mode 100644 (file)
index 0000000..137977c
--- /dev/null
@@ -0,0 +1,23 @@
+TopCts <-
+function(pvalue, PP=NULL, TrueNames, TopNum){
+       NumOfMethods=ncol(pvalue)
+       puse=pvalue
+       if(1%in%PP)puse[,PP==1]=1-pvalue[,PP==1]
+       #puse.list=data.frame(puse)
+       FD=matrix(rep(0,NumOfMethods*TopNum),ncol=NumOfMethods)
+#      Rank=apply(puse,2,rank)
+#      for(i in 1:TopNum)
+#              FD[i,]=sapply(1:NumOfMethods, function(j)sum(!rownames(Rank)[Rank[,j]<=i]%in%TrueNames))        
+#      FD=sapply(1:TopNum, function(i)sapply(1:NumOfMethods, function(j)sum(!rownames(Rank)[Rank[,j]<=i]%in%TrueNames)))
+       for (s in 1:NumOfMethods){
+               tmp=puse[,s]
+               names(tmp)=rownames(puse)
+               sorttmp=sort(tmp)
+               for( c in 2:TopNum)
+                       FD[c, s]=FD[(c-1),s]+as.numeric(!names(sorttmp)[c]%in%TrueNames)
+       }
+       FD
+       #matplot(TopNum,FD,type="l",ylim=c(0,1),xlab="Top DE selected", ylab="FDR")
+       #legend("rightbottom",col=1:TopNum, lty=1:TopNum, names)
+       }
+