Create variable syntax - conditional

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
estatistica
Beiträge: 4
Registriert: 21.08.2014, 14:02

Create variable syntax - conditional

Beitrag von estatistica »

Hallo,

ich wollte eine neue Variable definieren, bedingt auf einige Sache, so sollte sein:

compute newvar=$sysmis.
if (var1<= MEAN(var1)-SD(var1)) newvar=0.
if (var1>MEAN(var1)-SD(var1)) & (var1<MEAN(var1)-SD(var1)) newvar=1.
if (var1 >= MEAN(var1)+SD(var1)) newvar=2.
execute.

Aber so funktioniert es nicht. Habt ihr eine Idee?
Frido
Beiträge: 346
Registriert: 25.09.2012, 15:04

Re: Create variable syntax - conditional

Beitrag von Frido »

estatistica hat geschrieben: if (var1<= MEAN(var1)-SD(var1)) newvar=0.
if (var1>MEAN(var1)-SD(var1)) & (var1<MEAN(var1)-SD(var1)) newvar=1.
if (var1 >= MEAN(var1)+SD(var1)) newvar=2.
Du verwendest die "mean"- und "sd"-Funktionen, gibst jedoch jeweils nur eine Variable an . Das bringt dir so aber gar nichts, weil SPSS dann den bspw. Mittelwert aus EINER Zahl errechnet --> der Mittelwert von 2 ist 2 ...
estatistica
Beiträge: 4
Registriert: 21.08.2014, 14:02

Beitrag von estatistica »

Hi Frido,

das sollte aber doch gehen, weil das ist eine Variable mit 1097 Beobachtungen und ich will den Mittelwert und SD dafür (was ich mit dem Descriptives doch bekomme)

Nur ein Beispiel: ich habe diese Variable X mit 10 Beobachtungen:

X=-0.82859113, 0.11181644, -0.04046865, 1.24717723, -0.32053990, 0.50322844, -0.49772154, -0.25195169, -0.10156418, -0.80350886

mean(X)=0.2941959
sd(X)=1.200674

ich wollte eine neue Variable Y mit 3 Gruppen und es wäre:
Y_1: alle x's <= (mean(X)-sd(X)):
-1.2208217 -0.9514419 -0.9238688

Y_2:alle x's > (mean(X)-sd(X)) & alle x's < (mean(X)-sd(X)):
-0.5825608 0.0977583 0.6962933 0.8304798 1.2854827 1.3402702

Y_3 alle x's >=(mean(X)-sd(X)):
2.3703676

Das will ich mit dem Syntax machen! :)

Hast du eine Idee?
dani42
Beiträge: 94
Registriert: 31.07.2014, 18:08

Beitrag von dani42 »

Hallo,

Frido hat Recht, das geht nicht weil sich "mean" in deiner Syntax immer nur auf einen einzigen Fall bezieht.

Daas heißt, du musst statt "mean(var1)" einfach den konkreten Zahlenwert den du über descriptives rausbekommen hast einsetzen, zB

Code: Alles auswählen

if var1<=1.562 newvar=1.
Oder du musst dann, wenn du das nicht mit konkreten Werten machen willst, über die AGGREGATE-Funktion gehen.
estatistica
Beiträge: 4
Registriert: 21.08.2014, 14:02

Beitrag von estatistica »

Ja, ich will das automatisieren und deswegen nicht den Wert eingeben.
Habe schon versucht zuerst den Mittelwert und die Standar Abweichung in einer Variable zu speichern und dann sie im Formel zu benutzen:

m1=MEAN(var1)
sd1=SD(var1)

aber ich kriege die SD nicht, SPSS sagt, dass ich dafür 2 Variable brauche....was für mich nicht war ist.

Wie sollte mit aggregate sein?
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