Seite 1 von 1

Bedingtes Recodieren von Variablen

BeitragVerfasst: Di 8. Mär 2022, 16:00
von Florox
Hallo liebes Forum,

ich habe folgende Aufgabenstellung, bei der ich nicht wirklich weiterkomme.

Ich habe einen Datensatz mit 30 Variablen mit dichotomen Antworten auf je eine Frage (0= falsch, 1=richtig), heißen bei mir im Datensatz GK01 bis GK30. Zugehörig habe ich 30 Variablen (C01 bis C30) die die Wahrscheinlichkeit abgefragt haben, dass die in den GK-Variablen gegebene Antwort korrekt ist.

Ich möchte, falls in den C-Variablen eine Wahrscheinlichkeit unter 50% gewählt wurde, die zugehörige GK-Variable umkodieren (sprich: (1=0) (0=1)).

Über folgende Kommandos funktioniert das ganze auch:

DO IF (C01 <50).
RECODE GK01 (0=1)(1=0).
END IF.

DO IF (C02 <50).
RECODE GK02 (0=1)(1=0).
END IF.

(...)

Gerne würde ich das Kommando durch LOOP / DO REPEAT kompakter machen, um nicht 30 dieser Statements zu brauchen. Leider komme ich zu keiner passenden Lösung.

Könnt ihr helfen? Einen Riesen Dank im Voraus.

Re: Bedingtes Recodieren von Variablen

BeitragVerfasst: Di 8. Mär 2022, 17:14
von ponderstibbons
VECTOR G =GK01 to GK30 .
VECTOR C=C01 to C30 .
LOOP #i=1 to 30.
DO IF(C(#i) < 50).
COMPUTE G(#i) =ABS(G(#i)-1) .
END IF.
END LOOP.
EXECUTE .

Re: Bedingtes Recodieren von Variablen

BeitragVerfasst: Di 8. Mär 2022, 17:54
von Florox
Wow. Danke für die schnelle Antwort.