For the case of the mean, you can use the following: cummean <- function (x) cumsum(x) / seq_len(length(x))
for more a general function, one option is cumFUN <- function (x, FUN = mean) { sapply(seq_len(length(x)), function (i) FUN(x[1:i])) } # Examples: x <- rnorm(100) cummean(x) cumFUN(x) cumFUN(x, sd) I hope it helps. Best, Dimitris Sergey Goriatchev wrote:
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
-- Dimitris Rizopoulos Assistant Professor Department of Biostatistics Erasmus University Medical Center Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands Tel: +31/(0)10/7043478 Fax: +31/(0)10/7043014 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.