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.