与えられた例ではxpers
、各世帯でラン 1 の値が上がります。(そうでない場合は、手配できます)。
ここでは、どの変数が数値で、どれが値ラベル付きの数値で、どれが文字列であるかについての情報が非常に不足しています。
しかし、それが文字列であると仮定するq0111
と、父親の識別子の数値のみの値を取得できます
gen fatherid = real(q0111)
それなら
bysort xhhkey (xpers) : gen father_educ = q0407_a[fatherid]
ここでの重要なアイデアは、by:
添え字の保護の下ではグループ内で解釈されるため、 の値fatherid
は正確に必要な添え字であるということです。
@Metrics が主張しているように、ループは必要ありません。
list xhhkey xpers q0111 q0407_a fatherid father_educ, sep(0)
+-----------------------------------------------------------+
| xhhkey xpers q0111 q0407_a fatherid father~c |
|-----------------------------------------------------------|
1. | 282 1 father i 13 . . |
2. | 282 2 father i 10 . . |
3. | 282 3 1 . 1 13 |
4. | 282 4 1 12 1 13 |
5. | 282 5 father n 14 . . |
6. | 282 6 4 10 4 12 |
7. | 282 7 4 9 4 12 |
8. | 282 8 4 8 4 12 |
9. | 282 9 1 . 1 13 |
10. | 282 10 father n 4 . . |
11. | 283 1 father i 4 . . |
12. | 283 2 father i 6 . . |
13. | 283 3 1 14 1 4 |
14. | 283 4 1 17 1 4 |
15. | 284 1 father i 5 . . |
16. | 284 2 father n . . . |
17. | 284 3 1 1 1 5 |
18. | 284 4 father i 4 . . |
19. | 284 5 father n 8 . . |
20. | 284 6 father i 7 . . |
21. | 284 7 father n 18 . . |
22. | 284 8 6 2 6 7 |
23. | 284 9 6 . 6 7 |
24. | 284 10 father i 9 . . |
+-----------------------------------------------------------+
ところで、列の用語は、行列のコンテキスト以外では Stata とは異質のものです。列は変数です。
http://www.stata-journal.com/article.html?article=pr0004by:
には、ある程度詳細なチュートリアルがあります。by: