Hallo! Ich hoffe ihr könnt mir helfen.
In einer Regressionsanalyse untersuche ich den Einfluss von Krankheiten (UV) auf Depressionen (AV).
Dabei soll ich die Krankheiten als Dummys kodieren.
Es gibt Krankheit A und Krankheit B, insgesamt sind also vier Kombinationen (Gruppen) möglichen, die auf AV einwirken können:
1. A: nein / B: nein
2. A: nein / B: ja
3. A: ja / B: nein
4. A: ja/ B: ja
Meine Frage ist nun, ob ich jede dieser Gruppen in 3 Dummys kodiere (wegen k-1) , ein Dummy somit zwei Informationen/ Merkmale (über Krankheit A und B) trägt.
Oder ob ich für Krankheit A und Krankheit B einen Dummy erstelle
Dummy 1= Krankheit A nein/ja (0/1)
und die Dummys auch untereinander kombinieren kann ???
Zum zweiten möchte ich wissen ob es eine direkte Dummy Syntax gibt oder ob ich das über Transformieren und Umkodieren machen muss ?
Ich bin über jede Nachricht sehr dankbar!
Lg, Kassandra
Dummy-Kodierung
-
drfg2008
- Beiträge: 2391
- Registriert: 06.02.2011, 19:58
re
Hier mein Skript. Voraussetzung: Installation der Python Essentials
SPSS bietet auch eigene:
Die Variable sollte vorher autorecodiert worden sein. Macht sich besser.
Code: Alles auswählen
BEGIN PROGRAM.
import spss, spssaux
variable="v179" # <-- put in the variable name here!
#variable="variable"
laufvariable="NBDPJLDAEHJFAOCHDGDFKFIL54848184463901c2dd25340dfcdbdf39"
dummy="dummy_" + variable +"_"
spss.Submit(r"""AUTORECODE VARIABLES="""+variable+""" /INTO """+laufvariable+""" .""")
n = len(spssaux.VariableDict([laufvariable])[0].ValueLabels)
spss.Submit(r"""
VECTOR """+dummy+"""("""+str(n)+""").
COMPUTE """+dummy+"""("""+laufvariable+""")=1.
EXECUTE .
""")
spss.Submit(r"""
RECODE """+dummy+str(1)+""" to """+dummy+str(n)+""" (MISSING=0).
EXECUTE.
""")
mydict = spssaux.VariableDict([laufvariable])[0].ValueLabels
for code, label in mydict.items():
befehl = "VARIABLE LABELS "+dummy+code+" ' "+label+" '."
print befehl
spss.Submit(befehl)
spss.Submit(r"""DELETE VARIABLES """+laufvariable+""".""")
END PROGRAM.Code: Alles auswählen
SPSSINC CREATE DUMMIES VARIABLE=Variable
ROOTNAME = Variable_dummy
/OPTIONS ORDER=A USEVALUELABELS=YES.drfg2008
-
Kassandra987
- Beiträge: 3
- Registriert: 06.03.2012, 19:12
dankeschön! das sieht aber sehr kompliziert aus. bin bis auf ein paar einfache befehle auch überhaupt nicht in spss eingearbeitet.
ist es inhaltlich und für die weiteren Rechnungen falsch, wenn ich einfach neue Varibalen erstelle?
meine kodierung sieht gerade so aus: (D=Dummy)(Kategorie= Krankheiten)
D1 D2 D3
*Kategorie 1 0 0 0
*Kategorie 2 0 0 1
*Kategorie 3 0 1 0
*Kategorie 4 1 0 0
kodiert habe ich mit z.B. mit
RECODE Kategorie ... INTO Dummy_1.
RECODE Kategorie ... INTO Dummy_2.
bin über jede Hilfe sehr dankbar!
ist es inhaltlich und für die weiteren Rechnungen falsch, wenn ich einfach neue Varibalen erstelle?
meine kodierung sieht gerade so aus: (D=Dummy)(Kategorie= Krankheiten)
D1 D2 D3
*Kategorie 1 0 0 0
*Kategorie 2 0 0 1
*Kategorie 3 0 1 0
*Kategorie 4 1 0 0
kodiert habe ich mit z.B. mit
RECODE Kategorie ... INTO Dummy_1.
RECODE Kategorie ... INTO Dummy_2.
bin über jede Hilfe sehr dankbar!



