A small number of metaanalysis functions for computing zScores for FEM and REM and computing FDR.
1 2 3 4 
esets 
A 
classes 
A 
useREM 
A 
theScores 
A 
thePermScores 
A 
type 
"pos", "neg" or "two.sided" 
nperm 
number of permutations to calculate the FDR 
CombineExp 

The function zScores
implements the approach of Choi et
al. for for a set of ExpressionSet
s. The function zScorePermuted
applies
zScore
to a single permutation of the class labels.
The function zScoreFDR
computes a FDR for each gene, both for each
single experiment and for the combined experiment. The
FDR is calculated as described in Choi et al. Up to now ties in the
zscores are not taken into account in the calculation. The function might produce
incorrect results in that case. The function also
computes zScores, both for the combines experiment and for each single
experiment.
A matrix
with one row for each probe(set) and the
following columns:
zSco_Ex_ 
For each single experiment the standardized mean difference,

MUvals 
The combined standardized mean difference (using a FEM or REM) 
MUsds 
The standard deviation of the 
zSco 
The z statistic  the 
Qvals 
Cochran's Q statistic for each gene. 
df 
The degree of freedom for the Chisquare distribution. This is equal to the number of combined experiments minus one. 
Qpvalues 
The probability that a Chisquare random variable,
with 
Chisq 
The probability that a Chisquare random variate (with 1 degree of freedom) has a higher value than the value of zSco^2. 
Effect_Ex_ 
The standardized mean difference for each single experiment. 
EffectVar_Ex_ 
The variance of the standardized mean difference for each single experiment. 
Note that the three column names that end in an underscore are replicated, once for each experiment that is being analyzed.
M. Ruschhaupt
Choi et al, Combining multiple microarray studies and modeling interstudy variation. Bioinformatics, 2003, i84i90.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  data(Nevins)
##Splitting
thestatus < Nevins$ER.status
group1 < which(thestatus=="pos")
group2 < which(thestatus=="neg")
rrr < c(sample(group1, floor(length(group1)/2)),
sample(group2,ceiling(length(group2)/2)))
Split1 < Nevins[,rrr]
Split2 < Nevins[,rrr]
#obtain classes
Split1.ER < as.numeric(Split1$ER.status)  1
Split2.ER <as.numeric(Split2$ER.status)  1
esets < list(Split1,Split2)
classes < list(Split1.ER,Split2.ER)
theScores < zScores(esets,classes,useREM=FALSE)
theScores[1:2,]

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.