"eval.sagat.sim.EG" <- function(N=1000, nDE=round(.1*N), nEG.vec=seq(round(.05*N),N,round(.05*N)), m=50, 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 with varying nEG 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.diff.auc <- sim.diff.sd <- auc.coef <- c() c <- 0 for(nEG in nEG.vec) { auc.sagat <- c() for(i in seq(1, n*m, n)) { c <- c+1 if(nEG==nEG.vec[1]) auc.coef <- c(auc.coef, 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]]) auc.sagat <- c(auc.sagat, 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="")) } sim.diff.auc <- c(sim.diff.auc, mean(auc.sagat-auc.coef)) sim.diff.sd <- c(sim.diff.sd, sd(auc.sagat-auc.coef)) } if(verbose) cat("\n") return(rbind(sim.diff.auc, sim.diff.sd)) }