[R] Function similar to cumsum/cumprod
Ben Bolker
bolker at ufl.edu
Tue Sep 22 16:43:41 CEST 2009
Sergey Goriatchev <sergeyg <at> gmail.com> writes:
>
> Hello, everyone
>
> I wonder if there is in R somewhere a function similar to cumsum().
> The function calculates a statistic (say mean or standard deviation)
> buy adding consequtively one more data point.
>
> So, say I have a timeseries of 100 observations.
> I start by calculating mean of first 30 observations
> Then I add one observation and calculate mean of 31 observations
> Then I add one more observation and calculate mean of 32 observation,
> and so on until the end
>
> Is there a function like that in R?
>
> Best,
> Sergey
>
There was some recent discussion of using Reduce(...,accumulate=TRUE)
but I think this won't work in your case. For your particular case I
think
cumsum(z)/seq_along(z) gives the running mean you want
(starting from the first obs., not the 30th, but you can always
drop the first 30). sd() is a little harder. You might be
able to use the (numerically inaccurate) E[z^2]-E[z]^2 trick
with cumsum ...
More information about the R-help
mailing list