\name{ppsetApply} \alias{ppsetApply} \alias{ppset.ttest} \title{ Apply a function over the ProbeSets in an AffyBatch } \description{ Apply a function over the ProbeSets in an AffyBatch } \usage{ ppsetApply(abatch, FUN, genenames = NULL, ...) ppset.ttest(ppset, covariate, pmcorrect.fun = pmcorrect.pmonly, ...) } \arguments{ \item{abatch}{ An object inheriting from \code{AffyBatch}.} \item{ppset}{ An object of class \code{ProbeSet}.} \item{covariate}{ the name a covariate in the slot \code{phenoData}.} \item{pmcorrect.fun}{ a function to corrrect PM intensities} \item{FUN}{ A function working on a \code{ProbeSet} } \item{genenames}{ A list of Affymetrix probesets ids to work with. All probe set ids used when \code{NULL}.} \item{\dots}{ Optional parameters to the function \code{FUN} } } \value{ Returns a \code{list} of objects, or values, as returned by the function \code{FUN} for each \code{ProbeSet} it processes. } \author{Laurent Gautier } \seealso{\code{\link[affy]{ProbeSet-class}} } \examples{ ppset.ttest <- function(ppset, covariate, pmcorrect.fun = pmcorrect.pmonly, ...) { probes <- do.call("pmcorrect.fun", list(ppset)) my.ttest <- function(x) { y <- split(x, get(covariate)) t.test(y[[1]], y[[2]])$p.value } r <- apply(probes, 1, my.ttest) return(r) } ##this takes a long time - and rowttests is a good alternative ## eg: rt = rowttests(exprs(Dilution), Dilution$liver) \dontrun{ data(Dilution) all.ttest <- ppsetApply(Dilution, ppset.ttest, covariate="liver") } } \keyword{ manip }