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.