Hi,
Sorry ahead of time for not including data with this question.
Using rollapply to calculate mean values for 5 day blocks, I'd use this:
Roll5mean <- rollapply(data, 5, mean, by=5, align = c("left"))
My question is, can someone tell me how to fill in the days between each of
these means with the previously calculated mean? If this doesn't make
sense, I will clarify and provide data for an example.
Thanks.
Brad
--
View this message in context:
http://n4.nabble.com/fill-in-values-between-rollapply-tp1816885p1816885.html
Sent from the R help mailing list archive at Nabble.com.
Brad Patrick Schneid wrote:> > If this doesn't make sense, I will clarify and provide data for an > example. >Which is always a good idea. Dieter -- View this message in context: http://n4.nabble.com/fill-in-values-between-rollapply-tp1816885p1819092.html Sent from the R help mailing list archive at Nabble.com.
Hi:
Not exactly elegant, but here's one approach:
library(zoo)
x <- zoo( rpois(100, 40) )
w <- rollapply(x, 5, mean, by = 5, align = c('left'))
x2 <- rep(w, each = 5)
Does that work?
HTH,
Dennis
On Fri, Apr 9, 2010 at 12:32 AM, Brad Patrick Schneid
<bpschn01@gmail.com>wrote:
>
> Hi,
> Sorry ahead of time for not including data with this question.
> Using rollapply to calculate mean values for 5 day blocks, I'd use
this:
>
> Roll5mean <- rollapply(data, 5, mean, by=5, align = c("left"))
>
> My question is, can someone tell me how to fill in the days between each of
> these means with the previously calculated mean? If this doesn't make
> sense, I will clarify and provide data for an example.
>
> Thanks.
> Brad
> --
> View this message in context:
>
http://n4.nabble.com/fill-in-values-between-rollapply-tp1816885p1816885.html
> Sent from the R help mailing list archive at Nabble.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.
>
[[alternative HTML version deleted]]
Here are two solutions. Assuming x is a zoo object both return zoo objects: 1. rollapply with na.pad and na.locf: r <- rollapply(x, 5, mean, by = 5, align = "left", na.pad = TRUE) na.locf(r) 2. or try this which does not use rollapply at all but assumes x is 1 dimensional: n <- length(x) a <- ave(x, gl(n, 5, n), FUN = mean) On Fri, Apr 9, 2010 at 3:32 AM, Brad Patrick Schneid <bpschn01 at gmail.com> wrote:> > Hi, > Sorry ahead of time for not including data with this question. > Using rollapply to calculate mean values for 5 day blocks, I'd use this: > > Roll5mean <- rollapply(data, 5, mean, by=5, align = c("left")) > > My question is, can someone tell me how to fill in the days between each of > these means with the previously calculated mean? ?If this doesn't make > sense, I will clarify and provide data for an example. > > Thanks. > Brad > -- > View this message in context: http://n4.nabble.com/fill-in-values-between-rollapply-tp1816885p1816885.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at 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. >