妖咬咬 发表于 2017-9-7 17:47 
好的,已经明白。谢谢!
代码如下:
万分感谢!但是,您的代码中产生的Tmax是某分析师对于某公司的最新值,比如A分析师对于M公司做了2008年2次、2009年2次、2010年3次预测,那么最终我们要保留的应该是2008年最新预测、2009年最新预测、2010年最新预测,而不是2009年最新的那次预测。可以在分组时加上一个year分组。
gen date=date(Rptdt,"YMD")
format date %td
gsort Stkcd Ananm -date
bysort Stkcd Ananm year: egen Tmax = max(date) //按照年份分组之后,再保留那一年的某公司、某分析师的最新的预测值
format Tmax %td
keep if date==Tmax