在Stata中从行条件生成一个新变量

我在Windows 7上使用Stata13。我有一个数据集,每个id连续重复观察ageeduc。即变量q9p1educq9p1age分别是人1的教育和年龄,q9p2educq9p2age分别是人2的教育和年龄等。我想提取最高年龄段的人的教育水平。我已经设法使用提取最大年龄maxage如何才能获得最大年龄的人的教育? 的样品数据here在Stata中从行条件生成一个新变量

回答:

我会被重塑你的数据开始到长格式

reshape long [email protected] [email protected], i(id maxage) j(pid) string 

那么答案取决于你想做的事做,如果最大生存周期是不是唯一的。也许你可以做一些平均他们的事情?

bysort id (age): gen temp=q9educ if age==maxage 

bysort id: egen educmaxage=mean(temp)

drop temp

然后,如果你想再宽一点,你可以简单地重新调整宽度。

reshape wide [email protected] [email protected], i(id maxage educmaxage) j(pid) string 

以上是 在Stata中从行条件生成一个新变量 的全部内容, 来源链接: utcz.com/qa/258680.html

回到顶部