Loop funktioniert nicht - warum?

Fragen zu Stata Syntax und Do-Files.

Loop funktioniert nicht - warum?

Beitragvon kasperl » Fr 4. Jun 2021, 19:53

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?
kasperl
 
Beiträge: 1
Registriert: Fr 4. Jun 2021, 19:33
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron