楼主: vincent829
10408 54

[其他] 如何定位是在哪个group [推广有奖]

21
sungmoo 发表于 2009-7-6 11:00:57
vincent829 发表于 2009-7-6 10:56 我用提供的命令执行过一次,大概前24次都是有#number real change的(#!=0),但是往后的就一直是0 number real change,运行了好几千遍,所以我有了上面的疑问
仅就你给出的382行的sheet1来说,我这里运行到0替代后就跳出循环了。没有循环382次(只循环了9次)。

22
vincent829 发表于 2009-7-6 11:11:53
21# sungmoo
我把全样本发给你,你可以试一下命令

23
sungmoo 发表于 2009-7-6 12:01:37
vincent829 发表于 2009-7-6 11:11 我把全样本发给你,你可以试一下命令
知道问题出在哪里了:有些公司有些年份的mv缺失,但其没有后续年份的mv,所以这时不知mv该取何值。

比如,id==10683,year==2005,全年mv缺失,又没有后续年份。

24
sungmoo 发表于 2009-7-6 12:05:45
vincent829 发表于 2009-7-3 17:44 那些缺失值需要用年末的数据代替,也就是第一个available MV代替
有些公司在有些年份没有available mv可以代替。

(全年缺失,且无后续年)

25
vincent829 发表于 2009-7-6 12:27:41
24# sungmoo
我给你回email了

26
sungmoo 发表于 2009-7-6 17:25:14
*去掉无available值替代的缺失值
sort id year month
by id: g s=sum(mv)
by id: egen n=sum(mv)
drop if s==n&mv==.
drop s n

27
vincent829 发表于 2009-7-6 17:35:35
sungmoo 发表于 2009-7-6 17:25
*去掉无available值替代的缺失值
sort id year month
by id: g s=sum(mv)
by id: egen n=sum(mv) (这里应该是笔误,是想用total吗)
drop if s==n&mv==.
drop s n
如果MV不是末尾就是开头的话,这个命令可以解决问题,我试试先

28
vincent829 发表于 2009-7-6 17:44:15
26# sungmoo

成功了,缺失值的替代终于可以完成,衷心谢谢sungmoo

29
sungmoo 发表于 2009-7-6 18:21:49
*这两个命令是有区别的
by id: g s=sum(mv)
by id: egen n=sum(mv)

30
vincent829 发表于 2009-7-6 20:05:10
sungmoo 发表于 2009-7-6 18:21
*这两个命令是有区别的
by id: g s=sum(mv)
by id: egen n=sum(mv)
我查了help,egen里面没有sum这个function,只有total吧?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-5 12:55