Guten Morgen
Ich suche eine automatisierte Möglichkeit um herauszufinden welche Ausprägungskombination zwischen zwei Variablen (über alle Variablen) eines Datensatzes nicht auftreten.
Dafür bin ich bisher wie folgt vorgegangen:
1. Dummyvariablen für alle Variablen erstellen, die neuen Variablen enthalten also je eine Ausprägung der Variablen:
tab VariableX, gen(VariableX)
tab VariableY, gen(VariableY)
(...)
tab VariableN, gen(VariableN)
2. Jeweils zwei der Dummyvariablen unterschiedlicher Variablen werden aufaddiert und in eine neue Variable geschrieben.
gen X1Y1 = VariableX1 + VariableY1
recode X1Y1 (2=1) (1=0) (0=0)
gen X1Y2 = VariableX1 + VariableY2
recode X1Y1 (2=1) (1=0) (0=0)
(...)
gen X1YN = VariableX1 + VariableYN
recode X1YN (2=1) (1=0) (0=0)
gen X2Y1 = VariableX2 + VariableY1
recode X1Y1 (2=1) (1=0) (0=0)
gen X2Y2 = VariableX2 + VariableY2
recode X2Y1 (2=1) (1=0) (0=0)
(...)
gen X2YN = VariableX1 + VariableYN
recode X2YN (2=1) (1=0) (0=0)
*Dies wird wiederholt mit allen Ausprägungen i,j und allen Variablen A-Z
3. Alle neuen Kombinationsvariablen werden mittels sum einzeln überprüft. Ist die Anzahl des gesamten Observationen gleich der Häufigkeit von 1, tritt die Ausprägungskombination im Datensatz nicht auf.
sum X1Y1
sum X2Y1
(...)
Die Vorgehensweise ist bei wenigen Variablen mit wenigen Ausprägungen machbar. Für Datensätze mit mehr Variablen, beziehungsweise mehr Ausprägungen pro Variablen steigt schnell der benötigte Schreibaufwand.
Ich vermute, dass man den 2. Schritt mit einer Foreach-Schleife lösen könnte, allerdings bin ich mit den multiplen Indizes überfordert. Es wäre schön, falls hier jemand helfen könnte.
Beste Grüße und vielen Dank!
Benedikt