[R] Generalized cumsum?
OKB (not okblacke)
brenbarn at brenbarn.net
Thu Sep 17 03:04:15 CEST 2009
David Winsemius wrote:
>> No, Reduce reduces an entire vector to a single value by
>> repeatedly
>> combining adjacent elements. I'm looking to convert a vector to
>> another vector where each element is some arbitrary aggregating
>> function applied to the first n elements of the vector.
>
> Yes. You need to look again:
>
> accumulate=FALSE by default, but is subject to change.-
Ah, sorry. Yes, you're right. However, this still doesn't satisfy
my needs, because since Reduce successively combines one element at a
time, it doesn't work for functions that don't self-compose
transitively. For instance:
> Reduce(mean, c(1,2,3,4), accumulate=T)
[1] 1 1 1 1
but I want
> cumapply(mean, c(1,2,3,4))
[1] 1 1.5 2 2.5
Is there anything this general?
Thanks,
--
--OKB (not okblacke)
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is
no path, and leave a trail."
--author unknown
More information about the R-help
mailing list