1
我有一個數據集,像這樣:環通與連續的時間滯後數據輸出線性迴歸係數
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))
我希望做粗時滯分析,看看如何滯後var
數據影響psit
數據。如此粗略分析中所定義的滯後,從每個psit
數據點開始是var
數據T-1,T-2,T-3等。
要查看前幾個月var
數據如何影響psit
數據,我想提出一個timelag
載體,它由var
數據單月從該psit
變量偏移量爲的。然後,我會將timelag
矢量綁定到psit
矢量。下面是有偏移dataframes爲1個月的實施例中,2個月偏移,3個月偏移,respectivley:
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
對於每個數據幀,我想var
針對psit
數據使用lm()
功能和輸出將R倒退平方值。這個過程將對每個後續偏移重複。示例如下:
model1<-lm(timelag1)
summary(model1)$r.squared
model2<-lm(timelag2)
summary(model2)$r.squared
model3<-lm(timelag3)
summary(model3)$r.squared
我想創建一個循環,爲240個月的大數據集迭代此過程。然後在每個數據幀上運行一個lm()
,然後輸出r平方值。
謝謝你的幫助@G。格羅騰迪克。我爲您提供的兩個選項都收到了錯誤。 'lag(var, - (1:i))中的錯誤:n必須是一個單一的正整數'。您是否能夠註釋代碼,以便我理解這些論據如何幫助實現結果? – Danielle
我應該注意到,當我使用'read.zoo()'讀取df時,'month'列被刪除,df只包含'psit'和'var'變量。這是否應該發生? – Danielle
具體來說,'dyn'參數中'tail(z,12 + i)'和'lapply'命令中'1:3'做了什麼?在我的例子中,我有3個模型可以使迴歸更有趣,但是如果我的數據集可以迭代到12個月或更長,那麼1:3是否會將分析限制爲三個滯後,因此有三個模型? – Danielle