Hi I would like to understand how to extend the function (FUN) I am using in rollapply below.
###################################### With the following simplified data, test1 yields parameters for a rolling regression data = data.frame(Xvar=c(70.67,70.54,69.87,69.51,70.69,72.66,72.65,73.36), Yvar =c(78.01,77.07,77.35,76.72,77.49,78.70,77.78,79.58)) data.z = zoo(d) test1 = rollapply(data.z, width=3, FUN = function(z) coef(lm(z[,1]~z[,2], data=as.data.frame(z))), by.column = FALSE, align = "right") print(test1) ###################################### Rewriting this to call myfn1 gives test2 (and is consistent with test1 above) myfn1 = function(mydata){ dd = as.data.frame(mydata) l = lm(dd[,1]~dd[,2], data=dd) c = coef(l) } test2 = rollapply(data.z, width=3, FUN= myfn1, by.column = FALSE, align = "right") print(test2) ###################################### I would like to be able to use the predict function to obtain a prediction (and its std error) from the rolling regression I have just calculated. My effort below issues a warning that 'newdata' had 1 row but variable(s) found have 3 rows. (if I run this outside of rollapply I don't get this warning) Also, I don't see the predicted value or its se with print(fm2[[1]]). Again, if I run this outside of rollapply I am able to extract the predicted value. Xpred=c(70.67) myfn2 = function(mydata){ dd = as.data.frame(mydata) l = lm(dd[,1]~dd[,2], data=dd) c = coef(l) p = predict(l, data.frame(Xvar=Xpred),se=T) ret=c(l,c,p) } fm2 = rollapply(data.z, width=3, FUN= myfn2, by.column = FALSE, align = "right") print(fm2[[1]]) Any insights would be gratefully received. Best regards Pete -- View this message in context: http://n4.nabble.com/Rollapply-tp1013345p1013345.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.