[R] blockwise sums

Liaw, Andy andy_liaw at merck.com
Tue Aug 31 14:28:11 CEST 2004


If you insist, here's one way:

my.blockwisesum <- function(x, n, ...) {
    tapply(x, seq(1, length(x), by=n), sum, ...)
}

Andy

> From: Lutz Prechelt
> 
> I am looking for a function like 
>   my.blockwisesum(vector, n)
> that computes sums of disjoint subsequences of length n from vector
> and can work with vector lengths that are not a multiple of n.
> 
> It should give me for instance
>   my.blockwisesum(1:10, 3) == c(6, 15, 24, 10)
> 
> Is there a builtin function that can do this?
> One could do it by coercing the vector into a matrix of width n,
> and then use apply,
> but that is cumbersome if the length is not divisible by n, 
> is it not?
> Any other ideas?
> 
>   Lutz
> 
> Prof. Dr. Lutz Prechelt;  prechelt at inf.fu-berlin.de
> Institut fuer Informatik; Freie Universitaet Berlin
> Takustr. 9; 14195 Berlin; Germany
> +49 30 838 75115; http://www.inf.fu-berlin.de/inst/ag-se/
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
>




More information about the R-help mailing list