[R] sum portions of a vector
David Winsemius
dwinsemius at comcast.net
Mon Dec 10 21:52:32 CET 2012
On Dec 10, 2012, at 11:29 AM, Sam Steingold wrote:
> How do I sum portions of a vector into another vector?
> E.g., for
> --8<---------------cut here---------------start------------->8---
>> vec <- 1:10
>> breaks <- c(3,8,10)
> --8<---------------cut here---------------end--------------->8---
> I want to get a vector of length 3 with content
> --8<---------------cut here---------------start------------->8---
> 6 = 1+2+3
> 30 = 4+5+6+7+8
> 19 = 9+10
> --8<---------------cut here---------------end--------------->8---
> Obviously, I could write a loop, but I would rather have a vectorized
> version.
> tapply(vec, cut(vec, breaks=c(-Inf, breaks), include.lowest=TRUE),
sum)
[-Inf,3] (3,8] (8,10]
6 30 19
--
David Winsemius, MD
Alameda, CA, USA
More information about the R-help
mailing list