"eval.sagat.sim" <- function(N=1000, nDE=round(.1*N), nEG=round(.5*N), m=200, n=1, sd, Csub.cov, Csub.mu, data.samp, Ccov.pattern, cov.pattern, Ccov.const, cov.const, verbose=TRUE) { # Large-scale test of simulated data compendium <- sim.sagat.data(N=N, P=N, mu=Csub.mu, Var=diag(Csub.cov), cov.pattern=Ccov.pattern, cov.const=Ccov.const) U <- SVDpipeline(compendium=compendium, tform=F, qtile=T, impute=F, GCenter=T, GScale=T, svd=T, nv=0)$u sim.data <- sim.sagat.data(N=N, P=n*m, mu=c(rnorm(nDE, mean=0, sd=sd),rep(0,N-nDE)), Var=apply(data.samp, 1, var), cov.pattern=cov.pattern, cov.const=cov.const) sim.coef.auc <- sim.t.auc <- sim.sagat.auc <- c() c <- 0 for(i in seq(1, n*m, n)) { c <- c+1 sim.coef.auc <- c(sim.coef.auc, performance(prediction(predictions=abs(rowMeans(sim.data[,i:(i+n-1),drop=F])),labels=c(rep(1,nDE),rep(0,N-nDE))),measure="auc",fpr.stop=1)@y.values[[1]]) if(n>1) sim.t.auc <- c(sim.t.auc, performance(prediction(predictions=abs(eBayes(lmFit(sim.data[,i:(i+n-1),drop=F]))$t),labels=c(rep(1,nDE),rep(0,N-nDE))),measure="auc",fpr.stop=1)@y.values[[1]]) sim.sagat.auc <- c(sim.sagat.auc, performance(prediction(predictions=abs(sagat(data=sim.data[,i:(i+n-1),drop=F], U=U[,1:nEG])),labels=c(rep(1,nDE),rep(0,N-nDE))),measure="auc",fpr.stop=1)@y.values[[1]]) if(verbose && !(c %% 100)) cat(paste(c, " ", sep="")) } if(verbose) cat("\n") return(rbind(sim.coef.auc, sim.t.auc, sim.sagat.auc)) }