楼主: 子瑭
2065 10

[面板数据求助] 根据两个表生成dummy的问题 [推广有奖]

  • 1关注
  • 5粉丝

大专生

13%

还不是VIP/贵宾

-

威望
0
论坛币
25 个
通用积分
6.7190
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
775 点
帖子
20
精华
0
在线时间
58 小时
注册时间
2012-2-21
最后登录
2017-5-20

楼主
子瑭 发表于 2017-2-10 23:00:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现在想做一个股权激励对某指标的影响的面板回归。
准备了两个表,时间都是2010-2015,所有A股上市公司,一个表是证券代码以及实行股权激励的年份;一个表是证券代码以及其他的控制变量比如流动比率。
现想根据这两个表生成dummy, 在某年实行股权激励的公司标识为1, 没有实行为0. 请问如何生成,stata渣渣不胜感激,需要现把表合并还是怎样。
二维码

扫码加我 拉你入群

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

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

关键词:Dummy 2010-2015 A股上市公司 Stata 股权激励 上市公司 不胜感激

沙发
黃河泉 在职认证  发表于 2017-2-11 07:53:40
这样讲太抽象了!各 show 几笔资料来看看!

藤椅
子瑭 发表于 2017-2-13 20:54:34
谢谢您,我是想用表1,表2生成表3,里面还有个问题,就是表1和表2不是一一对应的

3.jpg (46.37 KB)

3.jpg

2.jpg (33.83 KB)

2.jpg

1.jpg (20.53 KB)

1.jpg

板凳
黃河泉 在职认证  发表于 2017-2-14 07:38:50
子瑭 发表于 2017-2-13 20:54
谢谢您,我是想用表1,表2生成表3,里面还有个问题,就是表1和表2不是一一对应的
  • 你要在我回答之框框的右下角点选回复,论坛才会通知我(我才会知道你有问题或回复)。
  • 表 1 是指实行(公告?)股权激励的年份吧?但为何 000002 于 2010 年有两次纪录(还是那年只要取一次即可)?所以表 1 出现的公司与年份的 DUM 都是等于 1?
  • 表2 是不是不同公司的起始与结束年间都不一样?奇怪了!为什么 000001 没有 2011 年的会计资料 (这部分应该很完整)?

报纸
黃河泉 在职认证  发表于 2017-2-14 08:10:17
子瑭 发表于 2017-2-13 20:54
谢谢您,我是想用表1,表2生成表3,里面还有个问题,就是表1和表2不是一一对应的
请试试
  1. // Data 1
  2. clear
  3. input str6 ID DATE1
  4. 000002 2012
  5. 000002 2010
  6. 000002 2010
  7. 000002 2008
  8. end

  9. duplicates drop ID DATE1, force
  10. destring ID, gen(id)
  11. gen DUM = 1
  12. save "t1.dta", replace

  13. // Data 2
  14. clear
  15. input str6 ID DATE1
  16. 000001 2016
  17. 000001 2015
  18. 000001 2014
  19. 000001 2013
  20. 000001 2012
  21. 000001 2010
  22. 000002 2016
  23. 000002 2015
  24. 000002 2014
  25. 000002 2013
  26. 000002 2012
  27. 000002 2010
  28. 000002 2009
  29. 000002 2008
  30. end

  31. destring ID, gen(id)
  32. xtset id DATE1

  33. tsfill

  34. gen DUM = 0
  35. merge 1:1 id DATE1 using "t1.dta", keepusing(DUM) update replace
复制代码
如若不是你要的,请跟我讲哪里有问题!
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
子瑭 + 1 + 1 + 1 精彩帖子

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

地板
子瑭 发表于 2017-2-16 21:01:49
黃河泉 发表于 2017-2-14 08:10
请试试如若不是你要的,请跟我讲哪里有问题!
1. 哈哈,有点SB了
2. 我看了数据,关于表1,是存在有2次甚至3次记录的情况的。我的想法是只取一次。
3. 我的数据表还没整理完,这几个只是我自己参考数据编出来示意的,对这种如何生成dummy没什么思路,想得到点思路,还没有正式开始试错。所以很抱歉回复的也不太及时,非常感谢您的帮助,我先试试,如果有什么问题再请问大神。

7
子瑭 发表于 2017-2-24 12:54:03
黃河泉 发表于 2017-2-14 08:10
请试试如若不是你要的,请跟我讲哪里有问题!
成功了,解锁merge的keepusing新用法非常感谢您!还有一个不理解的地方,就是tsfill是什么意思?我用了help还是不太懂,是将非平衡面板处理成平衡面板吗?

8
子瑭 发表于 2017-2-24 15:36:56
黃河泉 发表于 2017-2-14 07:38
  • 你要在我回答之框框的右下角点选回复,论坛才会通知我(我才会知道你有问题或回复)。
  • 表 1 是指 ...
  • 1.jpg
    您好,我还有一个问题,就是我想保留2009-2014年的数据
    year变量是数值型的
    我用keep if year>=2009 & year<=2014
    为啥stata把我的全部数据都删除了,我看别人这样做是可以的

    9
    黃河泉 在职认证  发表于 2017-2-24 17:01:42
    子瑭 发表于 2017-2-24 15:36
    您好,我还有一个问题,就是我想保留2009-2014年的数据
    year变量是数值型的
    我用keep if year>=2009  ...
    请先
    1. gen year1 = real(YEAR)
    2. keep if year1 >= 2009 & year1 <= 2014
    复制代码
    你的 (蓝色的,用 encode 得来的吧?) year 的 2006 值应该不是 2006 吧?
    已有 1 人评分学术水平 热心指数 信用等级 收起 理由
    子瑭 + 1 + 1 + 1 精彩帖子

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

    10
    子瑭 发表于 2017-2-24 17:36:24
    黃河泉 发表于 2017-2-24 17:01
    请先 你的 (蓝色的,用 encode 得来的吧?) year 的 2006 值应该不是 2006 吧?
    恩恩,这样可以了,我是用encode得来的,但是我tab之后就是显示2009这些的,老是搞不清楚stata各种格式。

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

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