2017-04-10 2 views
0

Ich versuche, die Daten darüber, ob jemand in Großbritannien geboren ist von Welle 1 bis Welle 2 zu unterstellen. Ich vermute, die egen Funktion würde funktionieren, aber ich bin mir nicht sicher, wie der Code aussehen würde?Kann ich eine Variable von einer anderen abhängig machen?

Table

Wie Sie sehen können, ich brauche 1 die gleiche born in the uk Antwort für Person-ID 1 in Welle zuweisen 2.

zuzuwinken Ich weiß, ich könnte es tun, indem Sie die Datenmenge auf eine große Umformung Format aber weißt du, ob es anders geht?

Antwort

0

Ich bin nicht sicher, ob hier in Großbritannien geboren ist numerisch mit Etiketten oder String. Aber was ist, wenn Sie so etwas wie tun würde:

encode born_in_UK, gen(born_num) 

bysort person_id: egen born_num2=mean(born_num) 
drop born_num 
rename born_num2 born_num 

Die Idee ist der Wiederholungs persönliche IDs als Gruppen zu denken und verwenden, um die mittlere Funktion die fehlenden Werte in der Gruppe zu füllen. Ich denke, das sollte funktionieren.

1

Dies ist eine Stata FAQ as accessible here.

Sie können im Datensatz nach unten kopieren, ohne neue Variablen zu erstellen.

bysort id (wave) : replace born_in_uk = born_in_uk[_n-1] if missing(born_in_uk) 

mipolate (SSC) eine groupwise Option, die für dort sein mehr als ein nicht-fehlenden Wert überprüft. Suchen Sie unter www.statalism.org nach Erwähnungen.

Beachten Sie, dass egen ein Befehl ist, keine Funktion.

Verwandte Themen