问题:有一个面板数据多家公司的1975-2008年度数据(当然有的公司数据允许缺失),其中公司代码变量为gvkey,行业代码变量为sic3,并且有一些变量:比如at,capx,dlc等。现在的问题是要求得所有单个公司对应的行业的平均数据(剔除公司本身)。具体而言:比如对于指标at,对于其1982年的数据,要求得对应行业的其他公司指标at在1982年的平均值。
我的想法是:a_n表示变量a的关于本身stata对数据的排序标号(即变量a从上到下的第n个值),然后要求p_a_n(表示其对应的行业平均值)。
设a_n_j_t表示数值a_n对应所在的j行业和第t年份,sum(a_n_j_t)表示把变量a对应j行业里的所有公司t年的数据相加。若在同一行业,则行业指标sic3相同。
算法:_n=1 to N
gen p_a_n=average( sum(a_n_j_t) - (a_n) )
p_a_n=a_n if p_a_n=0 /*如果本行业只有一家公司,那么就只能等于公司本身的数据*/
但是有几个问题:(1)这样使用_n对么?
(2)关键是 a_n_ j_t怎么来寻找和确定标记以及sum这样求和可以么?
或者有什么方便的方法么?多谢。