最近发现还有一种更方便的解决方法,来更好地解决这一问题。就是先将这一数据定义为一个面板数据,然后,再用一个F运算就可以轻松搞定了。
因为,这里讲到Stockid 和 data必须相同,然后standard不同。所以,要先用Stockid 和 data进行分组,也就是用date来拆分stockid,这样就能定义面板数据了。具体只需要下面三条命令就够了。分别是分组,定义面板数据,和对missing值的替换。
egen id=group(stockid date)
xtset id standard
replace chr=F.chr if chr==.
我想请教你一个问题,我是想不同年份对x进行加和,所以先是egen y=sum(x) if year==2007,但还是想用y这个变量来表示,此时再replace y=sum(x) if year==2008,这里就会出现问题,因为此时replace 代表的是gen,所以生成的数据是累计加和的,而不是所有数据的整和。