2
我的問題和數據相似,在後:Loop Through Data with Sequential Time Lags output Linear Regression Coefficients時滯分析
set.seed(242)
df<- data.frame(month=order(seq(1,248,1),decreasing=TRUE),
psit=c(79,1, NA, 69, 66, 77, 76, 93, NA, 65 ,NA ,3, 45, 64, 88, 88
,76, NA, NA, 85,sample(1:10,228, replace=TRUE)),var=sample(1:10,248,
replace=TRUE))
然而,我的數據集的結構不同,因爲我已經估算缺失值psit
。現在psit
,month
和var
現在嵌套在列表tempdata
中,使用mice()
函數來計算值。現在tempdata
包括40個新的估算數據集。
tempdata<-mice(data = df, m = 40, method = "pmm", maxit
= 50, seed = 500)
我想坐40個插補數據集,在各推算數據集相同的時間滯後分析(這不同於上述那裏有一個數據集到預成型件的時間滯後分析柱)和凝聚R-所有估算數據集中的每個時間值的平方值都存在時滯。
帖子上mice
表明您可以使用游泳池的lm()
結果:
modelFit1 <- with(tempdata,lm(psit~ month))
summary(pool(modelFit1))
不過,我想對於像時間滯後所有40個插補數據集當中彙集了R平方值。因此我不確定如何在tempdata
中的每個推算數據集上使用dyn$lm()
函數,然後使用pool()
函數彙集平方值的結果。
爲了達到這個結果。我曾嘗試以下,但得到一個錯誤:
modelFit1 <- with(tempData, lapply(1:236, function(i) dyn$lm(psit ~
lag(var, -i),tail(z, 12+i))))
summary(pool(modelFit1),function(x) summary(x)$r.squared))
應該有R平方值的向量返回。我需要使用'dyn $ lm(psit〜lag(var,-i),tail()來計算每個估算數據集上的一系列時滯迴歸(t-1,t-2,t- z,12 + i))))'。然後將所有估算數據集上的t-1的r平方集合起來,然後將所有估算數據集上的r-2平方滯後於所有估算數據集,依此類推。所以我會爲每個時滯迴歸有一個彙集的r平方的向量。 – Danielle