繁体   English   中英

在R中循环存储model个系数

[英]Storing model coefficients in a loop in R

这似乎是一个非常基本的问题,但我一直找不到解决方案。 我基本上希望在 for 循环中运行线性回归,并将每次迭代的 model 系数(如果可能,还有标准误差)存储在 csv 文件中。

作为参考,我正在对宏观经济“冲击”(宏观经济因素的残差对其滞后值进行回归)进行 Fama-MacBeth 回归。

我的循环代码如下

for (i in 7:69){
  model <- lm(data = data, data[[i]]~TM2R+IPR+InfR+UnR+OilR)
  #Model coefficients
  print(model$coefficients)
  #Standard Errors in regression results
  model$vcov <- vcovHC(model, type = "HC1") 
  print(model$vcov)
}

您可以使用broom package 将 output 从lm()转换为数据框,然后将 append 从vconvHC()转换为数据框。

最后,您导出为 csv。

library(broom)
library(sandwich)

for (i in 7:69){
  model_name  <- paste0("model_", i, ".csv")
  
  model_i <- lm(data = data, data[[i]]~TM2R+IPR+InfR+UnR+OilR)
  tidy_model <- tidy(model_i)
  tidy_model$vcov <- vcovHC(model_i, type = "HC1")
  
  write.csv(tidy_model, file = model_name)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM