function(formula = ~., data, subset, na.action, exclude = c(NA, NaN),

function(X, FUN, ...) lapply(X = X, FUN = match.fun(FUN), ...))
as.data.frame(lapply(X = X, FUN = match.fun(FUN), ...)))
function(FUN, ..., MoreArgs = NULL) standardGeneric("mendoapply"))
setMethod("mendoapply", "list", function(FUN, ..., MoreArgs = NULL)
mapply(FUN = FUN, ..., MoreArgs = MoreArgs, SIMPLIFY = FALSE))
setMethod("mendoapply", "data.frame", function(FUN, ..., MoreArgs = NULL)
as.data.frame(mapply(FUN = match.fun(FUN), ..., MoreArgs = MoreArgs,

"'colname' must be a valid colname name or index"
## Assume that the named columns have the same geometry and expand
## them simultaneously; this is different from the cartesian product

.expandOneCol <- function(x, colname, keepEmptyRows)
stop("'x' must be a single string or number")
stop("'colname' must be a valid colname name or index")
.expand <- function(x, colnames, keepEmptyRows){
x <- .expandOneCol(x, colnames[i], keepEmptyRows)
.expandByColumnSet <- function(x, colnames, keepEmptyRows) {
x[emptyRows, colnames] <- rep(NA, sum(emptyRows))
ans[colnames] <- lapply(x[colnames], unlist, use.names = FALSE)

### Group elements of a vector-like object into a list-like object
### - relistReturnedClass() generic and default method.
### - All "relist" and "split" methods defined in IRanges should be here.
### - extractList() generic and default method.
### TODO: Maybe put the default methods for the reverse transformations here
"shape of 'skeleton' is not compatible with 'NROW(flesh)'"
## TODO: Once "window" methods have been revisited/tested and
## 'window(flesh, start=start, end=end)' is guaranteed to do the
## right thing for any 'flesh' object (in particular it subsets a
## data.frame-like object along the rows), then replace the line above
## by the code below (which should be more efficient):
#FUN <- function(start, end) window(flesh, start=start, end=end)
#listData <- mapply(FUN, skeleton_start, skeleton_end)
#listData <- lapply(X, function(i) window(flesh,
"'f' cannot be longer than 'NROW(x)' when it's an integer vector"
"'drop' is ignored when 'f' is an integer vector"
"'f' cannot be longer than data when it's an integer-Rle"
"'drop' is ignored when 'f' is an integer-Rle"
## Using tabulate2() is 5x faster than doing:
##   tmp <- Rle(f_vals[idx], f_lens[idx])
"'f' must be an atomic vector or a factor (possibly in Rle form)"
"'NROW(x)' is not a multiple of 'length(f)'"
## From now on, 'f' is guaranteed to be an Rle.
### Would extractGroups be a better name for this?
### Or extractGroupedROWS? (analog to extractROWS, except that the ROWS are
### 'x' must be a vector-like object and 'i' a list-like object.
### Must return a list-like object parallel to 'i' and with same "shape" as
### 'i' (i.e. same elementLengths). If 'i' has names, they should be
### propagated to the returned value. The list elements of the returned value
## The various "unlist" methods for List derivatives don't know
## how to operate recursively and don't support the 'recursive'