全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3282 6
2017-11-04
新人第一次发帖,想请教大家一个关于面板数据的问题,举例如下:   stkcd          year          x
000001       2007          .
000001       2008          .
000001       2009          .
000001       2010          1
000001       2011          .
000001       2012          .
000001       2013          .
stkcd表示证券代码,year表示年份,x为任意数值,有什么命令能做到删除x=1前面的缺失值,将x=1后面的缺失值赋值为0吗?非缺失值(如上x=1)并非固定出现在2010年,我只是以其中一个证券代码为例,想求一个通用的命令,望大神不吝赐教,感激不尽!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-11-5 16:50:14
1. 每个 stkcd 的 x 是不是只有一个非缺失值呢?2. 尔后建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://bbs.pinggu.org/thread-5917273-1-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-5 16:55:29
试试
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-7 08:59:37
黃河泉 发表于 2017-11-5 16:55
试试
谢谢,谢谢!我前天发的帖一直没有人理我,我就自己慢慢想了,后来给我想出来了也就没关注论坛消息了。不过您的代码比我简单不少呢,前面的建议我会认真学习的。我用的代码是
gen nx=x
bysort stkcd:replace nx=nx[_n-1] if nx==.
drop if nx==.
bysort stkcd:replace x=0 if x==.
drop nx
也能实现结果,但是代码要复杂一些,还是您的更好
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-16 13:12:02
黃河泉 发表于 2017-11-5 16:55
试试
黄老师,我还有一个问题想追问一下,我今天用了bys stkcd (year):gen y= sum(x),发现year加不加括号结果是不一样的,加括号是可以把缺失值当作0来看的意思吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-16 14:35:42
西瓜头小锅锅 发表于 2017-11-16 13:12
黄老师,我还有一个问题想追问一下,我今天用了bys stkcd (year):gen y= sum(x),发现year加不加括号结果是 ...
bys stkcd (year): 它的意思应该是先按照 stkcd 然后 year sort 一次,即
复制代码
然后,按照每一个股票 stkcd 对不同(按照刚刚 sort 的顺序)年累积加总!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群