Я пытаюсь выполнить несколько регрессий данных панели через пакет pml
в for loop
, а затем сохранить результаты, чтобы я мог использовать summary
для каждого из результатов регрессии. Тем не менее, я не могу понять, как использовать summary
на list
сохраненных результатов. Это то, что я пробовал:Сохранение и получение результатов регрессии в цикле
library(plm)
########### Some toy data #################
Id <- c(rep(1:4,3),rep(5,2))
Id <- Id[order(Id)]
Year <- c(rep(2000:2002,4),c(2000,2002))
z1 <- rnorm(14)
z2 <- rnorm(14)
z3 <- rnorm(14)
z4 <- rnorm(14)
CORR <- rbind(c(1,0.6,0.5,0.2),c(0.6,1,0.7,0.3),c(0.5,0.7,1,0.4),c(0.2,0.3,0.4,1))
CholCORR <- chol(CORR)
DataTest <- as.data.frame(cbind(z1,z2,z3,z4)%*%CholCORR)
names(DataTest)<-c("y","x1","x2","x3")
DataTest <- cbind(Id, Year, DataTest)
############################################
for(i in 2001:2002){
Data <- DataTest[(DataTest$Year <= i), ]
TarLV <- plm(diff(y) ~ lag(x1) + x2 + x3, data = Data, model="pooling", index = c("Id","Year"))
if(i==2001){
Res1St <- TarLV
} else {
Res1St <- c(Res1St,TarLV)
}
}
sapply(Res1St, function(x) summary(x))
Однако я получаю ошибку:
Error in tapply(x, effect, func, ...): Arguments must have same length
я, вероятно, не сохранять результаты регрессий в очень разумным способом, а for loop
, вероятно, можно избежать, Я просто не понимаю, как это сделать. Любая помощь ценится!
Спасибо, что DataTest определенно не будет перезаписан. – Mace