Hi, ich möchte Personen aus einem Datensatz auf der Basis einiger Informationen matchen (Alter, Anzahl der Kinder, Bildung etc.).
Dazu möchte ich erstmal einen for loop ausführen, um eine Variable zu erstellen, die von 1 bis x die möglichen x Kombinationen aus den unterschiedlichen Informationen sozusagen durchnummeriert, z.B. wenn man 50 ist, 3 Kinder hat und einen Bachelor-Abschluss hat, dann bekommt man die 1 in der neuen Variable zugewiesen. Wenn man 51 ist mit 3 Kindern und Bachelor-Abschluss die 2 usw.
Dafür habe ich den folgenden loop geschrieben:
gen match = .
foreach i in 1 2 3 4 5 6 7 8 9 {
foreach j in 0 1 2 {
foreach k in 0 1 2 3 {
foreach l in 0 1 2 3 4 {
foreach m in 1 2 3 {
foreach n in 0 1 {
replace match = 2 if age_group == `i' & bbrn3_group == `j' & bbrn410_group == `k' & bbrn17_group == `l' & edu == `m' & homeowner == `n'
}
}
}
}
}
}
Ich weiß allerdings nicht, wie ich dafür sorgen kann, dass die Variable match die Werte 1-x (x = Anzahl der Kombinationsmöglichkeiten) annimmt, also wie ich match = 2 ändern muss, damit es so wird wie ich es möchte. Ich hatte an eine Liste list = [1,2,3,4,...,x] gedacht, aber weiß nicht, wie das in Stata geht. x müsste in dem Fall 3240 sein, da es 3240 verschiedene Kombinationsmöglichkeiten gibt (9 x 3 x 4 x 5 x 3 x 2).
Hat jemand eine Idee?
Vielen Dank im Voraus