Hallo,
ich bräuchte Hilfe bei folgender Situation.
Es gibt eine Variablenliste, die sich im Namen nur in den 2 abschließenden Ziffern unterscheiden: Variablenname_01, Variablenname_02, Variablenname_03, usw.. Potentiell können das im Datensatz bis zu 30 Variablen werden, je nach Antwortverhalten: D.h. die "höchste" Variable wäre Variablenname_30.
Ich möchte für jede Variable ein Label vergeben, dass diese beiden Ziffern enthält, z.B. "labelvar[01]", "labelvar[02]", "labelvar[03]", ... usw..
Meine Idee war es, dies mittels 2 "locals" und einer Schleife zu lösen:
local a = 0
local b = 1
foreach var in Variablenname_`a'`b' {
label var `var' "labelvar[`a'`b']"
if `b' < 9 local b = `b' + 1
if `b' == 9 local b = 0
if `b' == 0 local a = 2
if `a' ==2 local b=`b'+1
if `b'==9 local a = 3
if `b'>=9 local b = 0
}
Das funktioniert nur die Variable Variablenname01, die mit dem korrekten Label "labelvar[01]" bezeichnet wird. Die Syntax gibt auch keinen Fehler, sondern erfasst die anderen Variablen (Variablenname02 usw.) einfach nicht.
Woran könnte das liegen? Weiß jemand eine bessere Lösung für mein Anliegen?