Dados de loop através de atrasos de tempo sequenciais Coeficientes de regressão linear de saída

Eu tenho um conjunto de dados assim:

 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))

Desejo fazer uma análise brusca de atraso de tempo para ver comovar dados afetapsit dados. Um atraso, conforme definido nesta análise bruta, évar dados T-1, T-2, T-3, etc. meses no passado de cadapsit ponto de dados.

Para ver como os meses anterioresvar dados afetapsit dados, desejo fazer umatimelag vetor que consiste emvar dados com um mês de diferença em relação aopsit variável. Então eu vou ligar otimelag vetor para opsit vetor. Aqui estão alguns exemplos dos quadros de dados para um deslocamento de 1 mês, deslocamento de 2 meses, deslocamento 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 quadro de dados, quero regredirvar contrapsit dados usando olm() função e gera o valor do quadrado R. Esse processo seria repetido para cada deslocamento subsequente. Exemplo abaixo:

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

Eu gostaria de criar um loop que itere esse processo por um grande conjunto de dados de 240 meses. Em seguida, executa umlm() em cada quadro de dados e, em seguida, imprima o valor de r ao quadrado.

questionAnswers(1)

yourAnswerToTheQuestion