2016-08-01 108 views
-2

我在Windows 7上使用Stata13。我有一個數據集,每個id連續重複觀察ageeduc。即變量q9p1educq9p1age分別是人1的教育和年齡,q9p2educq9p2age分別是人2的教育和年齡等。我想提取最高年齡段的人的教育水平。我已經設法使用提取最大年齡maxage如何才能獲得最大年齡的人的教育? 的樣品數據here在Stata中從行條件生成一個新變量

+0

請研究http://stackoverflow.com/help/mcve查看一個好問題的標準,包括嘗試編碼和獨立重複性。 –

回答

0

我會被重塑你的數據開始到長格式

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 
+0

此代碼varlist中q9p1age- q9p9age { 如果最大生存週期=='變種 '{ \t局部x = SUBSTR( 「'變種' 的思想 '的foreach變種後還幫助」,1,4) \t本地EDU =「 'x'edu」 \t替換maxEduc ='EDU」 \t \t } \t }' – Keniajin

相關問題