存储来自Stata的预测和系数,用于n次复制

存储来自Stata的预测和系数,用于n次复制,stata,simulate,Stata,Simulate,我有一个下面的代码,我试图复制n次估计,然后生成预测和系数以供进一步使用 capture program drop mypro program define mypro drop _all sysuse auto bsample reg mpg price headroom mat mycoef=e(b) gen mypri=mycoef[1,1] gen myhead=mycoef[1,2] gen mycons=mycoef[1,3] predict x1b end simulate, se

我有一个下面的代码,我试图复制n次估计,然后生成预测和系数以供进一步使用

capture program drop mypro
program define mypro
drop _all
sysuse auto
bsample
reg mpg price headroom
mat mycoef=e(b)
gen mypri=mycoef[1,1]
gen myhead=mycoef[1,2]
gen mycons=mycoef[1,3]
predict x1b
end
simulate, seed(10) reps(10) nodots : mypro
默认情况下,
simulate
仅给出10个不同样本的系数。然而,我试图保存每个样本数据集以及系数mpri、myhead、myconst和x1b。是否可以使用
simulate
或我需要使用
loop

根据Nick的评论更新:

capture program drop mypro
program define mypro
set seed 1
local r=10
forvalues i=1/`r'{
drop _all
sysuse auto
bsample
reg mpg price headroom
mat mycoef=e(b)
gen mypri=mycoef[1,1]
gen myhead=mycoef[1,3]
predict x1b
save data`i',replace
}
end

您正在调用
simulate
来运行程序以获取引导样本以获得回归结果

  sysuse auto
  bootstrap : reg mpg price headroom 

这是一个简单得多的方法。查看
bootstrap
的文档了解更多信息

多谢各位。对不起,没有把问题说清楚。我不仅需要系数,还需要预测(不是汇总)和每个复制的采样数据集。例如,在我的例子中,我需要10个不同的重采样数据集以及系数和预测。这些将作为进一步研究的输入。
simulate
bootstrap
不允许我为每次复制提取采样数据(程序内部用于分析)。我试着寻找
postfile
,但不知道该怎么做。10听起来对于任何严肃的模拟工作来说都是不够的。但是我想你每次都需要使用
merge
循环调用
bsample
<代码>模拟对您来说是一条死胡同。谢谢。是的,10是不够的,但我在这里只是用作演示
b示例
没有允许循环的选项。你能给我一个额外的提示,如何继续吗?我已经按照你的建议(更新)使用了循环。我想知道是否需要在循环中使用种子。设置种子一次就足以确保结果的可重复性。