tapplysum.fast | R Documentation |
A hack to speed up tapply(x, group, sum) for the special case where x is sorted by group.
tapplysum.fast(x, groups)
x |
A numeric vector. |
groups |
A grouping factor. |
Works by computing the cumulative sum of x and taking the difference
at the indices where the groups change. Standard tapply
can
be slow when there are a large number of groups, due to the overhead
of factor manipulation.
Vector containing the group sums of x
.
C. H. Jackson <chris.jackson@mrc-bsu.cam.ac.uk>
tapply
x <- factor(rep(1:1000, each=100))
y <- rnorm(1000*100)
system.time(tapply(y, x, sum))
system.time(tapplysum.fast(y, x))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.