Guten Abend
Ich habe ein kleines Problem mit meinem Stata Code, dass ich einfach nicht weg bringe. Das Problem ist das Folgende:
Ich habe eine Variable "C_year", welche über alle Beobachtungen hinweg zwischen 1998 und 2008 (Jahre) ist. Zudem habe ich Variablen der T_OCF_1994, T_OCF_1996, ..., T_OCF_2012 (welche Werte für alle Beobachtungen enthalten).
Ich möchte nun neue Variablen generieren (bzw ich hab dies gmacht) und will diese automatisch füllen bzw. replacen. Z.B. die neue Variable mit dem Namen T_OCF_m1 soll den Wert von z.B. T_OCF_2001 übernehmen, wenn bei der entsprechenden Beobachtung C_year = 2002 ist (oder von T_OCF_2007 wenn C_year = 2008 ist, etc. Also immer um ein Jahr versetzt). Ich hoffe meine Ausführungen sind klar.
Eine Scheife wie diese:
local j=1997
forv i=1998/2008 {
replace T_OCF_m1 = T_OCF_`j' if C_year == `i'
local j `=`j'+1'
}
gibt mir immer falsche Ergebnisse raus (ich habe es manuell mal gemacht, möchte es aber eleganter haben). Ich habe es auch ohne local versucht (also nur mit Werten für i aus der Schleife), ich komme aber gar nicht weiter. Ich weiss nicht, an was das liegen könnte, vielleicht dass man Schlaufenwerte (also i) in der IF Bedingung verwendet.
Wie könnte das funktionieren?
lg
Sascha