请教各位老师同学一个对于两个日期之间的每个企业的观察值求和的问题。不胜感谢!
如下图:firm_id企业代码,每个企业有在同一天内有n多observations。td_anno表示企业发布一个政策的日期。td_effect是这个企业正式实施这个政策的日期。duration就是发布到实施的time interval(时间差)。posi_bam是在这个time interval里面此政策被vote的次数。
我想计算出变量 sum_posibam表示在这个time interval之内,对于每个企业,此政策一共被vote的次数。
因为time interval是变化的,大概不能用rolling求。我试了以下的程序,可是都算不出正确结果。请教各位指点。
*********
gen sum_posibam=.
forval i = 1/`=_N' {
by firm_id: su posi_bam if inrange(td_anno[`i']- td_anno ,0, duration)
replace sum_posibam= r(sum) in `i'
}
(这个程序报错inrange not found r(111);)
**********
sort firm_id
forval i = 1/`=_N' {
su posi_bam if td_anno [`i']- td_anno=duration
replace sum_posibam= r(sum) in `i'
}
(这个程序报错1 unknown weight type r(198);)
找到一个类似的帖子
http://stackoverflow.com/questio ... them-as-a-new-varia 可是看了后还是解决不了我的问题。谢谢各位!