Apply a function on subsets of data frames
This is a parallel version of aggregate.
## S4 method for signature 'formula,BiocParallelParam'
bpaggregate(x, data, FUN, ...,
BPREDO=list(), BPPARAM=bpparam())
## S4 method for signature 'data.frame,BiocParallelParam'
bpaggregate(x, by, FUN, ...,
simplify=TRUE, BPREDO=list(), BPPARAM=bpparam())
## S4 method for signature 'matrix,BiocParallelParam'
bpaggregate(x, by, FUN, ...,
simplify=TRUE, BPREDO=list(), BPPARAM=bpparam())
## S4 method for signature 'ANY,missing'
bpaggregate(x, ..., BPREDO=list(), BPPARAM=bpparam())x |
A |
by |
A list of factors by which |
data |
A |
FUN |
Function to apply. |
... |
Additional arguments for |
simplify |
If set to |
BPPARAM |
An optional |
BPREDO |
A |
bpaggregate is a generic with methods for data.frame
matrix and formula objects. x is divided
into subsets according to factors in by. Data chunks are
sent to the workers, FUN is applied and results are returned
as a data.frame.
See aggregate.
Martin Morgan mailto:mtmorgan@fhcrc.org.
if (interactive() && require(Rsamtools) && require(GenomicAlignments)) {
fl <- system.file("extdata", "ex1.bam", package="Rsamtools")
param <- ScanBamParam(what = c("flag", "mapq"))
gal <- readGAlignments(fl, param=param)
## Report the mean map quality by range cutoff:
cutoff <- rep(0, length(gal))
cutoff[start(gal) > 1000 & start(gal) < 1500] <- 1
cutoff[start(gal) > 1500] <- 2
bpaggregate(as.data.frame(mcols(gal)$mapq), list(cutoff = cutoff), mean)
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.