在Stata中使用egen循环

时间:2015-03-19 23:10:24

标签: loops stata

我有一个数据集,如下所示:

  delta    taubar
   0       1.5
  -0.223   2
   3       6.5
   0.334   2
   11      7
   2.123   1.5

delta采用与taubar对应的不同值。但是,我想为delta的每个值创建一个取taubar均值的变量。也就是说,如果taubar保持值为2且频率为400,并且对于这400个delta中的每一个都不同,我想创建一个变量,它是{{1的平均值对于delta的每个值。

我用过

taubar

在这种情况下,Stata创建的值为0.234,这是所有400 2的增量的平均值。这是低效的;此外,数据集中有600 egen meandelta = mean(delta) if taubar == 2 个,每个taubar个可能有500个delta s。 我希望每个taubar从1.5到327结束,对应于delta的平均值。

1 个答案:

答案 0 :(得分:1)

你想要的并不完全清楚,但没有必要循环。

如果您想保留原始数据,请尝试:

bysort taubar: egen meandelta = mean(delta) 

您可能还会考虑:

collapse (mean) meandelta=delta, by(taubar)

但这将破坏您的数据并将其替换为手段数据集。