2016-08-01 4 views
-2

Windows 7でStata13を使用しています。idの行に、ageeducの繰り返し観測値を持つデータセットがあります。すなわち変数q9p1educq9p1ageはそれぞれperson1の教育と年齢、q9p2educq9p2ageはそれぞれperson2の教育と年齢です。高齢者の教育水準を抽出したいと思います。私はを使用して最大年齢maxageを抽出することができました最大年齢の人の教育を受けるにはどうすればよいですか? サンプルデータがhereStataの行条件から新しい変数を生成

+0

コードと自己完結型の再現性を含めた良い質問の基準を確認するには、http://stackoverflow.com/help/mcveを参照してください。 –

答えて

0

である私は

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

が次に答えはMAXAGEが一意でない場合、あなたがやりたいん何に依存し、長い形式にデータを再形成することから始めます。おそらくあなたは平均的なものをすることができますか?

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

このコードはまた \tローカルEDU = " '(1,4、 "変数リストq9p1age- q9p9age { 場合MAXAGE == '' VAR VAR"){ \tローカルX =のSUBSTR' の思想 'のforeach VAR後に役立っ'x'edu ' \t maxEduc =' edu ' \t \t \t } – Keniajin

関連する問題