esApply {Biobase} | R Documentation |

## Apply for the Expression Data in 'exprSet'

### Description

`esApply`

is a wrapper to apply for use with `exprSet`

s and `eSet`

s. Because the application of a function to the rows of the expression array usually involves variables in the `phenoData`

slot we have used a special evaluation paradigm here. The function `FUN`

may reference any data in phenoData by name.

Consider defining the function as a method for 'exprSet', 'eSet'

### Usage

esApply(X, MARGIN, FUN, ...)

### Arguments

`X` |
An instance of class `exprSet` . It is assumed that `X` has information on gene expression for G genes in N tissue samples. |

`MARGIN` |
The margin to apply to, either 1 for rows or 2 for columns. |

`FUN` |
Any function |

`...` |
Additional parameters for `FUN` |

### Details

The `phenoData`

from `X`

is installed in an environment. This environment is installed as the environment of `FUN`

. This will then provide bindings for any symbols in `FUN`

that are the same as the names of the `phenoData`

of `X`

. If `FUN`

has an environment already it is retained but placed after the newly created environment. Some variable shadowing could occur under these circumstances.

### Value

The result of `apply(exprs(X),MARGIN, FUN, ...)`

.

### Author(s)

V.J. Carey <stvjc@channing.harvard.edu>, R. Gentleman

### See Also

`apply`

, `exprSet`

### Examples

data(eset)
# we know that eset has covariates in the pData called "cov1" and "cov2"
# here cov1 is an unbound value, it will be resolved by using the pData
# here are two functions conforming to the esApply protocol
mytt.demo <- function(y) {
ys <- split( y, cov1 )
t.test( ys[[1]], ys[[2]] )$p.value
}
# obtain the p value of the slope associated with cov2, adjusting for cov1
# (if we were concerned with sign we could save the z statistic instead at coef[3,3]
myreg.demo <- function( y ) {
summary(lm(y~cov1+cov2))$coef[3,4]
}
newt <- esApply( eset, 1, mytt.demo )
# a resampling method
resamp <- function( ESET ) {
ntiss <- ncol(exprs(ESET))
newind <- sample(1:ntiss, size=ntiss, replace=TRUE)
ESET[newind,]
}
# a filter
q3g100filt <- function( eset ) {
apply( exprs(eset), 1, function(x)quantile(x,.75)>100 )
}
# filter after resampling and then apply
set.seed(123)
rest <- esApply( { bool <- q3g100filt(resamp(eset)); eset[bool,] }, 1,
mytt.demo )

[Package

*Biobase* version 1.8.0

Index]