Hi, Take a look at package "zoo", perhaps something like:
require(zoo) x <- rnorm(10000) # hypothetical data m <- rollapply(zoo(x), width = 100, FUN = mean, by = 100) Another (bit more of a hack) option would be: ## convert vector to matrix byrows with 100 columns per row ## (where 100 is the number of points you want at a time) ## use rowMeans function to get mean of each row quickly m2 <- rowMeans(matrix(x, ncol = 100, byrow = TRUE)) ?rollapply # from package zoo ?rowMeans # in base HTH, Josh On Mon, Jul 11, 2011 at 2:23 AM, M. B <workstu...@googlemail.com> wrote: > Hello, > I am running R on Linux and have a column of data 10000 points long. I would > like to take a moving average of say 100 points at a time, so I end up with > one column of 100 points. What is the simplest way of doing this? I would > like to be able to adjust the width of the averaging blocks. > > Thanks much! > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles https://joshuawiley.com/ ______________________________________________ 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.