【问题标题】:Stata -- extract regression output for 3500 regressions run in a loopStata——为循环运行的 3500 个回归提取回归输出
【发布时间】:2014-01-07 01:17:28
【问题描述】:

我正在使用forval 循环运行 3,500 个回归,每组一个。然后我需要总结结果。通常,当我使用循环运行回归时,我使用估计存储函数,后跟estout。下面是一个示例代码。但我相信此代码可以处理的限制为 300。如果有人能告诉我如何自动化处理 3,500 次回归,我将不胜感激。

示例代码:

forval j = 1/3500 {

    regress y x if group == `j'
    estimates store m`j', title(Model `j')
}

estout m* using "Results.csv", cells(b t)   ///
   legend label varlabels(_cons constant)   ///
       stats(r2 df_r N, fmt(3 0 1) label(R-sqr dfres N)) replace

【问题讨论】:

  • 尼克和其他人,我无法让 statsby 工作。希望有一个示例显示如何提取结果。谢谢!
  • 反之亦然:这个网站的重点是针对特定代码寻求具体建议的海报。向我们展示什么不起作用。
  • 我尝试过这样的事情:statsby _b _se,通过(组)保存(my_reg):regress ret2 ret2_lag。但是我不确定在那之后该怎么做。我怎样才能看到结果?我在网上搜索过,但找不到任何示例。我知道今天使用 Stata 的人越来越少,但这似乎是一个标准问题。
  • ...那在什么意义上不起作用?

标签: for-loop output regression stata


【解决方案1】:

这是一个使用statsby 的示例,其中我对由 rep78 变量定义的 5 个组中的每一个组进行价格回归,并将结果存储在名为 my_regs 的 Stata 数据集中:

sysuse auto, clear
statsby _b _se, by(rep78) saving(my_regs): reg price mpg
use my_regs.dta

如果您愿意,可以省略saving() 选项,然后您的数据集将在内存中被回归结果替换,因此您无需直接使用use 打开文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2015-02-10
    相关资源
    最近更新 更多