我在 Stata 12 中有一个循环,它查看文件中的每条记录,如果发现flag
等于 1,它会生成五个估算值。我的代码如下所示:
forvalues i=1/5 {
gen y3`i' = y2
gen double h`i' = (uniform()*(1-a)+a) if flag==1
replace y3`i' = 1.6*(invibeta(7.2,2.6,h`i')/(1-invibeta(7.2,2.6,h`i')))^(1/1.7) if
flag==1
}
a
在别处定义。我想检查个人估算。flag
因此,我只需要在=1的情况下才显示估算变量。我还想在s
旁边显示另一个值 , 。我需要帮助来弄清楚语法。我已经尝试了所有我能想到的引号和下标组合,但我不断收到错误消息。
我想到了另一个有用的修改。假设我有三个要在其上执行此例程的连接文件。让他们有一个等于 1、2 或 3 的变量文件。我想为每个设置一个单独的种子并在我的程序中执行它,以便我有一个记录。我设想是这样的:
forvalues j=1/3 {
set seed=12345 if file=1
set seed=56789 if file=2
set seed=98765 if file=3
insert code above
}
这行得通吗?