Hi Petr, Thanks for your suggestion. It woks, but now I have other problem the positions of the values changed. I need the NA values in the three first positions.
y=c(2,1,5,8,11,3,1,7,50,21,33,7,60) x=as.zoo(y) > x 1 2 3 4 5 6 7 8 9 10 11 12 13 2 1 5 8 11 3 1 7 50 21 33 7 60 varx=rollapply(x,3,var) 2 3 4 5 6 7 8 9 10 11 12 4.333333 12.333333 9.000000 16.333333 28.000000 9.333333 714.333333 481.000000 212.333333 169.333333 702.333333 2009/9/30 Petr PIKAL <petr.pi...@precheza.cz> > Hi > > Try > > function rollapply from zoo.It can compute rolling results of functions. > Make your y a zoo object and use rollapply(object, 3, var) > > Regards > Petr > > r-help-boun...@r-project.org napsal dne 30.09.2009 12:37:36: > > > Dear R-user > > > > Suppose I have the following data > > > > y=c(2,1,5,8,11,3,1,7,50,21,33,7,60) > > > > x=data.frame(y) > > > > for(i in 4:nrow(x)) x[i,] =var(x[i-3:i-1,]) > > > > I'm trying to get a new variable with the variance of the 3 previous > values > > (just an example) and with NA in the three first positions. I know that > my > > for() is wrong > > but I'm not able to find my error. > > > > Any idea? > > > > Thanks, > > > > Marlene. > > > > [[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. > > [[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.