3324 6

[面板数据求助] 数据处理 [推广有奖]

  • 0关注
  • 0粉丝

本科生

38%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6965 点
帖子
36
精华
0
在线时间
120 小时
注册时间
2016-4-15
最后登录
2019-6-20

楼主
西瓜头小锅锅 发表于 2017-11-4 20:43:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
新人第一次发帖,想请教大家一个关于面板数据的问题,举例如下:   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年,我只是以其中一个证券代码为例,想求一个通用的命令,望大神不吝赐教,感激不尽!

二维码

扫码加我 拉你入群

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

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

关键词:数据处理 关于面板数据 stkcd 第一次发帖 year Stata

回帖推荐

黃河泉 发表于3楼  查看完整内容

试试

沙发
黃河泉 在职认证  发表于 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
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(stkcd year x)
  4. 1 2007 .
  5. 1 2008 .
  6. 1 2009 .
  7. 1 2010 2
  8. 1 2011 .
  9. 1 2012 .
  10. 1 2013 .
  11. 2 2007 .
  12. 2 2008 .
  13. 2 2009 .
  14. 2 2010 3
  15. 2 2011 .
  16. 2 2012 .
  17. 2 2013 .
  18. end

  19. bys stkcd (year): gen y = sum(x)
  20. drop if y == 0
  21. gen z = (x == y)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
txje + 2 + 2 + 2 热心帮助其他会员

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

板凳
西瓜头小锅锅 发表于 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 一次,即
  1. sort stkcd year
复制代码
然后,按照每一个股票 stkcd 对不同(按照刚刚 sort 的顺序)年累积加总!
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

7
西瓜头小锅锅 发表于 2017-11-17 16:24:12
黃河泉 发表于 2017-11-16 14:35
bys stkcd (year): 它的意思应该是先按照 stkcd 然后 year sort 一次,即然后,按照每一个股票 stkcd 对不 ...
好的,我明白了,谢谢!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 02:54