我已经问过question关于在单个数据集中存储几个回归的系数和标准误差 .
让我重申我最初问题的目标:
我想运行几个回归并将结果存储在我以后可用于分析的DTA文件中 . 我的约束是:我无法安装模块(我正在为其他人编写代码而不确定他们安装了哪些模块)一些回归量是因子变量 . 每个回归仅由因变量不同,因此我希望将其存储在最终数据集中,以跟踪系数/方差对应的回归 .
Roberto Ferrer建议的解决方案在我的测试数据上运行良好,但事实证明在其他类型的数据上不能很好地工作 . 原因是我的样本从一个回归到下一个回归略有变化,并且某个因子变量在每个回归中没有采用相同数量的值 . 这导致固定效果(使用 i.myvar
作为回归器动态创建)不具有相同的基数 .
假设我决定使用 i.year
来设置年固定效应(如:特定于年份的截距),但在一个回归中,2006年没有观察到 . 这意味着这个特定的回归将减少一个回归量(虚拟对应于year == 2006没有创建),因此存储了coeffs的较小矩阵 .
当尝试将矩阵堆叠在一起时,这导致一致性错误 .
我想知道是否有办法使初始解决方案对不同数量的回归量具有鲁棒性 . (也许将每个回归保存为dta,然后合并?)
我仍然受制于我不能依赖外部包的约束 .
1 回答
您可以遵循
append
数据集的策略,对您引用的问题中的代码进行细微更改:结果就是你想要的 . 但问题是每次循环时都会重新加载数据集;它会将数据加载到您估算的回归次数 .
您可能需要查看
post
并检查是否可以管理更有效的解决方案 .statsby
也可以工作,但您需要找到一种重命名存储变量的智能方法 .