在Stata中从行条件生成一个新变量
我在Windows 7上使用Stata13。我有一个数据集,每个id
连续重复观察age
和educ
。即变量q9p1educ
和q9p1age
分别是人1的教育和年龄,q9p2educ
和q9p2age
分别是人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