全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2103 4
2020-11-08
请问,我想生成一个新变量wot,只要有一个观察值的event取值1,wot则为1,否则为0。弄了很久还是错的。数据如下。
id               enddate             event        year
002012        2004-12-31                2004
002012        2005-12-31                2005
002012        2006-12-31                2006
002012        2007-12-31        1        2007
002012        2008-12-31        1        2008
002012        2009-12-31                2009
002012        2010-12-31                2010
002013        2004-12-31        1        2004
002013        2005-12-31        1        2005
002013        2006-12-31                2006
002013        2007-12-31        1        2007
002013        2008-12-31        1        2008
002013        2009-12-31        1        2009
002013        2010-12-31                2010
002014        2004-12-31                2004
002014        2005-12-31                2005
002014        2006-12-31                2006
002014        2007-12-31                2007
002014        2008-12-31                2008
002014        2009-12-31                2009
002014        2010-12-31                2010
谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2020-11-8 11:55:23
bysort id enddate year : gen event=_N
replace event=0 if event!=1

bysort 后面是你确定观察值是否重复的范围,变量越多,定义越精准,你试试看是不是你想要的
二维码

扫码加我 拉你入群

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

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

2020-11-8 14:47:31
Alice_1i 发表于 2020-11-8 11:55
bysort id enddate year : gen event=_N
replace event=0 if event!=1
谢谢。我好像没讲清楚。我想给每个id生成一个新变量wot,每个id的event有2004-2010年取值,只要这7年中有一个event取值不为空,wot就取1。想要的结果如下
id               enddate       event      year      wot
002012        2004-12-31                2004    1
002012        2005-12-31                2005     1
002012        2006-12-31                2006     1
002012        2007-12-31        1        2007    1
002012        2008-12-31        1        2008     1
002012        2009-12-31                2009       1
002012        2010-12-31                2010       1
002013        2004-12-31        1        2004      1
002013        2005-12-31        1        2005       1
002013        2006-12-31                2006         1
002013        2007-12-31        1        2007        1
002013        2008-12-31        1        2008        1
002013        2009-12-31        1        2009         1
002013        2010-12-31                2010           1
002014        2004-12-31                2004           0
002014        2005-12-31                2005           0
002014        2006-12-31                2006          0
002014        2007-12-31                2007          0
002014        2008-12-31                2008          0
002014        2009-12-31                2009          0
002014        2010-12-31                2010          0
二维码

扫码加我 拉你入群

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

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

2020-11-8 17:03:03
sysi11 发表于 2020-11-8 14:47
谢谢。我好像没讲清楚。我想给每个id生成一个新变量wot,每个id的event有2004-2010年取值,只要这7年中有 ...
建议用dataex命令(ssc install dataex)贴出示例数据。
数据结构尽可能描述清楚,问题解释清晰,这样有助于高效解决您的问题。
尝试以下代码:
——如果event的值只有1和空值
复制代码
——如果event的值为1,只是举例,还有别的不确定的值
复制代码
二维码

扫码加我 拉你入群

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

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

2020-11-8 17:19:18
DΘstinyじò 发表于 2020-11-8 17:03
建议用dataex命令(ssc install dataex)贴出示例数据。
数据结构尽可能描述清楚,问题解释清晰,这样有助 ...
我试了一下,正是我想要的结果。太感谢了!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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