ich hänge zur Zeit an einem Problem mit meinen Loops, ich möchte, dass in meinem Datensatz ein Matching durchgeführt wird, dabei sollen die Paare aber aus der selben Gruppe kommen und im selben Jahr sein.
Beispiel:
group | year | Teilnehmer | name pscore
1 2005 1
1 2006 1
1 2005 0
1 2006 0
2 2005 1
2 2006 1
2 2005 0
2 2006 0
etc.
Ich möchte also als Matching Paar (anhand des p.scores natürlich: treated: Gruppe1 Jahr 2005 Teilnehmer mit control group: Gruppe1 Jahr 2005 kein Teilnehmer) so hinbekommen, dass innerhalb des selben Jahres in der selben Gruppe nur gematched wird.
Mein bisheriger Versuch sieht so aus:
- Code: Alles auswählen
sort groups
foreach var of varlist groups {
sort year
foreach var of varlist year {
psmatch2 dummy var1 var2 var3
gen pair =_id if _treated==0
replace pair = _n1 if _treated==1
bysort pair: egen paircount = count(pair)
drop if paircount!=2
}
}
Er matched so auch, gibt mir auch nur die gematchten Paare raus, matched aber nicht innerhalb der Gruppen/Jahre =/
Wo ist mein Fehler?
Grüße