楼主: twinkle1211
2610 3

[数据管理求助] 生成虚拟变量遇到的问题 [推广有奖]

  • 0关注
  • 2粉丝

已卖:87份资源

硕士生

75%

还不是VIP/贵宾

-

威望
0
论坛币
174 个
通用积分
1.1994
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2129 点
帖子
98
精华
0
在线时间
239 小时
注册时间
2008-10-18
最后登录
2025-3-1

楼主
twinkle1211 发表于 2017-3-2 04:02:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的数据是面板数据,是按照公司和年份进行纵向排列的。现在 假如有3家公司 时间年份从2000年到2010年时间段 其中 实施政策的年份变量是year0 年份变量是year 我想生成第三个变量year1 要求如果year变量中的年份大于等于year0中的实施年份 则year1=1 否则等于0 我使用命令replace x=1 if year>=year0 可提示错误说type mismatch 哪里错了呢?在表达的清楚一些 也就是说 假设数据是这样的:
company   year   year0
1                 2000   2005


。               2010   2005
2                2000    2009


。              2010     2009
3               2000     2010

。             2010     2010
。表示省略号 同上的意思 想生成year1 以第一家公司为例 如果同一行中2000小于2005 则year1第一行的值就为0 怎么写命令呢?
二维码

扫码加我 拉你入群

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

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

关键词:虚拟变量 mismatch replace company compan replace

沙发
黃河泉 在职认证  发表于 2017-3-2 06:39:39
你的指令初步看起来没错,请确定 year 与 year0 两个变量都是数值(在 Stata 中是黑色的),然后
  1. gen d = (year >= year0)
复制代码

藤椅
军少 学生认证  发表于 2017-3-2 09:07:22
如楼上所说,你的错误显示两个数据的数据类型不一致,可能一个是数值型,一个是字符型,因而无法比较。你确认下,如果数据类型一直,采用楼上的那个命令就可以得出你想要的结果

板凳
ayzzya 发表于 2017-3-2 11:26:29
支持支持,学习了

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

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