Seite 1 von 1

Variablen in andere Jahre transferieren

BeitragVerfasst: So 8. Okt 2017, 17:19
von Verwirrt91
Tag, ich bearbeite aktuell das SOEP in Längsschnittdesign.
Dort enthalten ist eine Variable für Gratifikationen des Vorjahres. Ihr merkt schon anhand des Namens: Verdammt,wenn man die Variable nutzen möchte muss man die Variable des nächsten Jahres nutzen.
Das erscheint mir aber nicht so einfach:

1) Fehlt mir der passende Replacebefehl um die Werte des Vorjahres auf das nächste Jahr zu übertragen.
2) Werden die Werte aus dem Vorjahr dann ja ersetzt. Das ist schlecht, wenn man sie noch benötigt.

Folglich folgende Aufgabenstellung an euch Stata-Profis: Generiere mir einen Code mit dem man eine Variable um 1 Jahr weiter verschiebt.
Ich benötige Gratifikation des Vorjahres in 2004, 2008, 2011. D.h. soweit ich es verstehe aus 2005, 2009, 2012 in den Vorjahren.

Danke für eure Hilfe.

Beste Grüße
Verwirrt91

Re: Variablen in andere Jahre transferieren

BeitragVerfasst: Fr 10. Nov 2017, 09:47
von Verwirrt91
Hey.
Ich konnte selbst eine relativ elegante Lösung für dieses Problem finden.
Alles Gute an meine Nachfolger.

sort pid syear
replace share2 =. if syear<2005 | syear==2006 | syear==2007 | syear==2008 ///
| syear==2010 | syear==2011 | syear>2012
bysort pid:replace share2= share2[_n+1] if syear==2004 | syear==2008 ///
| syear==2011
foreach var of varlist share2 {
bysort pid:replace `var' =. if syear== 2005 | syear==2009 | syear==2012
}

Beste Grüße
Verwirrt91