\HeaderA{generateExprVal}{Compute a summary expression value from the probes intensities}{generateExprVal}
\aliasA{express.summary.stat}{generateExprVal}{express.summary.stat}
\aliasA{express.summary.stat-methods}{generateExprVal}{express.summary.stat.Rdash.methods}
\aliasA{express.summary.stat.methods}{generateExprVal}{express.summary.stat.methods}
\aliasA{upDate.express.summary.stat.methods}{generateExprVal}{upDate.express.summary.stat.methods}
\keyword{manip}{generateExprVal}
\begin{Description}\relax
Compute a summary expression value from the probes intensities
\end{Description}
\begin{Usage}
\begin{verbatim}
express.summary.stat(x, pmcorrect, summary, ...)
express.summary.stat.methods() # vector of names of methods
upDate.express.summary.stat.methods(x)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] a (\code{ProbeSet}
\item[\code{pmcorrect}] the method used to correct the PM values before
summarizing to an expression value.
\item[\code{summary}] the method used to generate the expression value.
\item[\code{...}] other parameters the method might need... (see the
corresponding methods below...)
\end{ldescription}
\end{Arguments}
\begin{Value}
Returns a vector of expression values.
\end{Value}
\begin{Examples}
\begin{ExampleCode}
if (require(affydata)) {
  data(Dilution)

  p <- probeset(Dilution, "1001_at")[[1]]

  par(mfcol=c(5,2))
  mymethods <- express.summary.stat.methods()
  nmet <- length(mymethods)
  nc <- ncol(pm(p))

  layout(matrix(c(1:nc, rep(nc+1, nc)), nc, 2), width = c(1, 1))

  barplot(p)

  results <- matrix(0, nc, nmet)
  rownames(results) <- paste("sample", 1:nc)
  colnames(results) <- mymethods

  for (i in 1:nmet) {
    ev <- express.summary.stat(p, summary=mymethods[i], pmcorrect="pmonly")
    if (mymethods[[i]] != "medianpolish")
      results[, i] <- 2^(ev$exprs)
    else
      results[, i] <- ev$exprs
  }

  dotchart(results, labels=paste("sample", 1:nc))
}
\end{ExampleCode}
\end{Examples}

