我有一个数据集,如下所示:
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
的平均值。
答案 0 :(得分:1)
你想要的并不完全清楚,但没有必要循环。
如果您想保留原始数据,请尝试:
bysort taubar: egen meandelta = mean(delta)
您可能还会考虑:
collapse (mean) meandelta=delta, by(taubar)
但这将破坏您的数据并将其替换为手段数据集。