世帯 ID と各世帯内の個人 ID を含む調査データセットがあります。個人 1 は、インタビュー対象者自身を表します。一部の変数は、各個人とインタビュー対象者との関係を表します (たとえば、配偶者は 2、両親は 3 など)。データ構造は次のようになります。
???
ここでやりたいことは、特定の値の出現を検出し、それが出現した場合、およびの値が特定の条件を満たすvar1
かどうかを検出することです。var1
var2
たとえば、次var1
のvar2
場合
(var1 == 3 & var2 == 1) | (var1 == 4 & var2 == 1)
var3
次に、同じグループ (この場合は家族構成を表す世帯) 内の各個人に対して値 1 を、新しく生成された変数 (たとえば、 ) に割り当て、それ以外の場合は 0 を割り当てることができます。
大した問題ではないようだし、何人か雇うべきだと思う
by group: egen
また
by group: gen
コマンドですが、よくわかりません。以前は次のようなコマンドを適用していました
gen l_w_p = 0
by hhid: replace l_w_p = 1 if (var1 == 3 & a2004 == 1) | (var2 == 4 & a2004 == 1)
by hhid: replace l_w_p = 2 if (var1 == 3 & a2004 == 2) & (var2 == 4 & a2004 == 2)
しかし、うまくいかないようです。それにはある種のループが必要ですか?