Los datos de bucle continuo con retardos de tiempo secuenciales generan coeficientes de regresión lineal

Tengo un conjunto de datos así:

 set.seed(242)
 df<- data.frame(month=order(seq(1,20,1),decreasing=TRUE), 
 psit=sample(1:100,20,replace=TRUE),  var=sample(1:10,20, 
 replace=TRUE))

Deseo hacer un análisis crudo del desfase temporal para ver qué tan rezagadovar los datos afectanpsit datos. Un retraso, como se define en este análisis crudo, esvar datos T-1, T-2, T-3, etc. meses en el pasado de cadapsit punto de datos.

Para ver como los meses anterioresvar los datos afectanpsit datos, deseo hacer untimelag vector que consiste envar datos que son un mes compensado de lapsit variable. Entonces ataré eltimelag vector a lapsit vector. Estos son ejemplos de los marcos de datos para una compensación de 1 mes, compensación de 2 meses, compensación de 3 meses, respectivamente:

 set.seed(242)
 timelag1<- cbind(df[1:12,2], df[2:13,3]) #1 month time lag
 timelag2<- cbind(df[1:12,2], df[3:14,3]) #2 month time lag
 timelag3<- cbind(df[1:12,2], df[4:15,3]) #3 month time lag

Para cada marco de datos, quiero retrocedervar en contrapsit datos utilizando ellm() función y salida del valor R cuadrado. Este proceso se repetiría para cada desplazamiento posterior. Ejemplo a continuación:

 model1<-lm(timelag1)
 summary(model1)$r.squared
 model2<-lm(timelag2)
 summary(model2)$r.squared
 model3<-lm(timelag3)
 summary(model3)$r.squared

Me gustaría crear un ciclo que repita este proceso para un gran conjunto de datos de 240 meses. Luego ejecuta unlm() en cada marco de datos y luego generar el valor r cuadrado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta