Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stata 如何在内存中保存估计值并批量写入文件_Stata_Stata Macros - Fatal编程技术网

Stata 如何在内存中保存估计值并批量写入文件

Stata 如何在内存中保存估计值并批量写入文件,stata,stata-macros,Stata,Stata Macros,为了加快代码的速度,我想将每10次回归的结果导出到一个文件中。是否可以执行以下操作 forvalues i = 1(1)20{ ppmlhdfe y ${varlist`i'}, absorb(year) cluster(year) estimates store result`i' if mod(`i', 10) == 0 { outreg2 result* using "$outputdir1\results.csv" est clear } } 在这

为了加快代码的速度,我想将每10次回归的结果导出到一个文件中。是否可以执行以下操作

forvalues i = 1(1)20{
ppmlhdfe y  ${varlist`i'}, absorb(year) cluster(year)
estimates store result`i'
if mod(`i', 10) == 0 { 
   outreg2 result* using "$outputdir1\results.csv" 
   est clear
}
}

在这个伪代码中,我的意思是我们每10次回归保存一次结果,并清除内存中的估计值,然后继续下一次10次回归。在Stata中有可能吗?

您当然可以根据循环索引做一些事情,如

if mod(`i', 10) == 0 { 

} 
我不确定我是否理解其余大部分代码
outreg2
被要求将内容放在完全相同的文件中;我不使用
outreg2
,也不知道那里有什么意义。类似地,从表面上看,您是在获得估算之前存储估算值


这里真正的节约是什么?如果你不想看到结果,为什么要执行回归呢?

非常感谢你的评论,尼克!我发现为每个回归编写结果会拖慢代码。所以我试着保存估计值,每10次回归写一次。这样,我们就避免了访问硬盘太频繁。顺便说一句,我根据你的评论清理了一点伪代码。再说一遍,我真的不明白。每组结果有多大?为什么不在循环后写一次呢?如果我们导出到csv文件,每组结果就是一列。我对代码计时,回归需要15秒才能完成,但写入硬盘上的文件需要30秒。所以我试图减少写入文件的次数。