Использовать rollapply для индекса столбца. Список (c (- 5, 0)) означает использование смещений -5 и 0. На каждой итерации.
library(zoo)
resids <- t(rollapply(1:ncol(mtcars), list(c(-5, 0)),
function(ix) resid(lm(mtcars[, ix]))))
rsquareds <- rollapply(1:ncol(mtcars), list(c(-5, 0)),
function(ix) summary(lm(mtcars[, ix]))$r.squared)
Если вы хотите изменить, какие из них являются зависимыми и независимыми, используйте вместо этого list(c(0, -5))
.