Neue Variable aus zwei anderen Variablen

Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Antworten
Sunshine81
Beiträge: 3
Registriert: 11.12.2006, 16:03

Neue Variable aus zwei anderen Variablen

Beitrag von Sunshine81 »

Hallo zusammen !!

Ich habe eine Frage zu SPSS. Und zwar muss ich aus zwei Variablen eine neue machen, in der dann verschiedene Gruppen entstehen.

mein Beispiel:
1. Variable = Alter
2. Varible = Schulabschluss

Nun will ich eine neue Variable einfügen, die mir diese Daten in Gruppen zusammenfasst (Variable = Milieu).
1. Gruppe: älter als 50 und Hauptschule
2. Gruppe: jünger als 50 und Hauptschule
... und so weiter ...

Diese Gruppen sollen dann auch alle in der einen Variable auftauchen, damit ich damit auch Korrelationstabellen machen kann.

Bin grade ein bisschen am verzweifeln, da die Diplomarbeit bald fertig werden muss. :?

Schon mal vielen Dank für eure Hilfe !! :)
Sunshine
Noonen
Beiträge: 818
Registriert: 26.09.2006, 14:52

Beitrag von Noonen »

Hallo

Bin nicht der Syntax-König, aber so sollte es für Deine Fragestellung klappen:

IF (alter>50) AND (schulabschluss=1) milieu=1
etc. für jeden schluabschluss

gäbe sicher noch elegantere variante mit DO IF, kenn' es aber nicth so genau.

gruss
patrick
Sunshine81
Beiträge: 3
Registriert: 11.12.2006, 16:03

Beitrag von Sunshine81 »

Hallo Patrick,

schon mal ganz vielen lieben Dank für deine Hilfe !!
Ich versuche mich gerade ein bisschen in die Syntax-Schreibweise einzuarbeiten, bin aber totaler Neuling und weiß gar nicht so recht, wie das geht.
Im Moment hab ich folgendes geschrieben:

COMPUTE schulze.milieus=
IF(alter.schulze=2) AND (SchulabschlussUmkodiert >= 4) schulze.milieus=1
IF(alter.schulze=2) AND (SchulabschlussUmkodiert <=2) schulze.milieus=2
IF(alter.schulze=2) AND (SchulabschlussUmkodiert =3) schulze.milieus=3
IF(alter.schulze=1) AND (SchulabschlussUmkodiert >= 3) AND (2<=f082<=5) schulze.milieus=4
IF(alter.schulze=1) AND (SchulabschlussUmkodiert <= 3) AND (f082=1,7,8 ) schulze.milieus=5
EXECUTE.

Folgende Fehlermeldung kommt dann:

>Error # 4023 in column 2. Text: IF
>Ein Ausdruck enthält eine Zeichenfolge gefolgt von einer linken Klammer.
>Dadurch wird angegeben, daß die Zeichenfolge einen Funktions- bzw.
>Vektornamen darstellt. Es ist jedoch kein Vektor und keine Funktion dieses Namens vorhanden. Überprüfen Sie die Schreibweise.
>This command not executed.


1. Frage: Ist COMPUTE hier überhaupt richtig ??
2. Wie sagt man überhaupt, dass von der Variable f082 die Werte 1, 7 und 8 genommen werden sollen, das hab ich bestimmt auch falsch ?? (siehe Milieu 5)
3. Macht mein ganzer Befehl so überhaupt Sinn ??

Schon mal vielen Dank für die Hilfe, auch an alle anderen !! :D
Liebe Grüße, eure verzweifelte Sunshine
guido
Moderator
Beiträge: 304
Registriert: 17.01.2006, 19:20

Beitrag von guido »

Genau, das COMPUTE weglassen, dann sollte es gehen...
Wie sagt man überhaupt, dass von der Variable f082 die Werte 1, 7 und 8 genommen werden sollen,
Probier mal:

Code: Alles auswählen

 AND ((f082=1)OR(f082=7)OR(f082=8)) schulze.milieus=5 
 
Jack Crow
Beiträge: 146
Registriert: 14.12.2006, 18:41

Beitrag von Jack Crow »

Ganz wichtig ist es bei diesen Anweisungen immer auf die "Rechtschreibung" der Syntax zu achten, also vor allem Klammern und Punktsetzungen.

Die IF-Anweisung macht grundsätzlich Sinn, muss allerdings im obigen Sinne korrekt ausgeführt werden, sonst produziert er immer wieder Fehlermeldungen. Also z.B.:

IF ( (alter.schulze=2) & (SchulabschlussUmcodiert >= 4) ) schulze.milieus = 1 .
IF ...

Die Auswahlanweisungen kann man mit ein paar einfachen Befehlen vereinfachen, z.B.:
ANY(f082,1,7,8) zur Auswahl wenn die Variable f082 die Werte 1,7 oder 8 aufweist,
RANGE(f082,2,5) zur Auswahl wenn die Werte von f082 im Bereich von 2 bis 5 liegen sollen.
Noonen
Beiträge: 818
Registriert: 26.09.2006, 14:52

Beitrag von Noonen »

Vielen Dank an die Syntax-Spezialisten!

Finde die Arbeit mit Syntax sehr hilfreich, wenn auch rel. komplex. Finde es toll, wenn es darüber einen Austausch gibt!!

Thx!
Patrick
Sunshine81
Beiträge: 3
Registriert: 11.12.2006, 16:03

Beitrag von Sunshine81 »

Hallo zusammen,

vielen Dank für eure Hilfe !!! :D

Ich musste noch ein bisschen rumbasteln, bis es endlich geklappt hat, aber jetzt sieht meine Syntax so aus und funktioniert auch einwandfrei !!

DO IF ((alterschulze=2) AND (SchulabschlussUmkodiert >= 4) ) .
COMPUTE
schulzemilieus = 1 .
END IF .
EXECUTE .

usw ......

Ganz liebe Grüße, Sunshine :D
Jack Crow
Beiträge: 146
Registriert: 14.12.2006, 18:41

Beitrag von Jack Crow »

Ich bin mir relativ sicher daß es mit den reinen IF-Anweisungen auch (einfacher) ginge, aber gut, wenns läuft ist ja alles supi ;)
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten