在Stata中,我有一个面板数据集,其中包含面板标识符和时间变量(以及关注指标)。我想通过面板ID生成一个变量,该变量等于特定年份内这些指标之一的平均值。执行以下操作即可实现我想要的功能,但是只会填充我限制它使用的年份的变量。我希望这一结果可以一直使用。我已经陪审团提出了一种涉及对数据进行排序的解决方案,但是我想检查是否有更优雅的方法。
sort id year
egen x_natural = mean(x) if year >= 2005 & year <= 2007, by(id)
sort id x_natural year
replace x_natural = x_natural[_n-1] if id == id[_n-1]
一种方法是
egen x_natural = mean(x / (year >= 2005 & year <= 2007)), by(id)
另一个是
egen x_natural = mean(cond(year >= 2005 & year <= 2007, x, .)), by(id)
顺便,
year >= 2005 & year <= 2007
可以使用
inrange(year, 2005, 2007)
有关此地区的相当系统的介绍性调查,请参见http://www.stata-journal.com/article.html?article=dm0055,现在所有人都可以通过.pdf对其进行访问。直接为此,请访问http://www.stata-journal.com/sjpdf.html?articlenum=dm0055
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句