Stata 如何创建取值为X+;1如果事件未发生';不发生在X周期?

Stata 如何创建取值为X+;1如果事件未发生';不发生在X周期?,stata,dummy-variable,recode,Stata,Dummy Variable,Recode,如果某个事件在X个时段内未发生,如何创建一个取值为X+1的新变量 具体来说,我有12年内许多人的数据。对于一个问题,他们可以回答是(1)或否(0)。我关心12年内第一次有人说“是”,并创建了一个变量,该变量以“是”回答的年数为值 但若有人在12年内回答“否”,我将该变量的值设为13。但我被困在如何做到这一点 by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1 gen EarlyHeart1=year if EarlyHe

如果某个事件在X个时段内未发生,如何创建一个取值为X+1的新变量

具体来说,我有12年内许多人的数据。对于一个问题,他们可以回答是(1)或否(0)。我关心12年内第一次有人说“是”,并创建了一个变量,该变量以“是”回答的年数为值

但若有人在12年内回答“否”,我将该变量的值设为13。但我被困在如何做到这一点

by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1
gen EarlyHeart1=year if EarlyHeart==1
(what's next?)

如果一个人的最后一次累计总和为0,则他们都是

by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1
by hhidpn : replace EarlyHeart = 13 if EarlyHeart[_N] == 0 

如果一个人的最后一次累计总和为0,则他们都是

by hhidpn (wave), sort: gen byte EarlyHeart = sum(rhearte) == 1
by hhidpn : replace EarlyHeart = 13 if EarlyHeart[_N] == 0 

但我不需要所有缺失的值都等于13,我只需要13,无论我在哪里看到答案都是否定的(即,sum(rhearte)总是0)。对不起,我删除了我的评论,它是错误的。
by hhidn:egen first1=min(EarlyHeart1)
then
by hhidn:rep first1=13如果first1==。
no这是因为我从一开始就解释得不好。。。William:(非常感谢William,我找到了一种方法。我现在将删除此主题:)但我不需要所有缺失的值都等于13,我只需要13,无论我在哪里看到答案都是否定的12年(即,总和(rhearte)总是0)很抱歉,我删除了我的评论,这是错误的。
作者hhidn:egen first1=min(EarlyHeart1)
then
by hhidn:rep first1=13如果first1==。
no这是因为我从一开始就解释得不好。。。它仍然不起作用威廉:(非常感谢威廉,我找到了一个方法。我现在将删除这个主题:)