Seite 1 von 1

problem syntax Männer Frauen, alt jung

BeitragVerfasst: Fr 17. Okt 2014, 17:45
von whoshareswins
hallo!

hab folgendes problem. vllt kann mir wer helfen. würde mich sehr freuen!

ich mach im moment eine große klinische studie mit vielen laborwerten. da es bei den labornormwerten immer wieder unterscheidungen zwischen männern und frauen, alt und jung oder beides gibt, möcht ich betroffene werte nun in gruppen einteilen.

folgendes hab ich in der syntax eingegeben


für männer/frauen:


USE ALL.
COMPUTE filter_$=(Geschlecht = 0).
VARIABLE LABELS filter_$ 'Geschlecht = 0 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.

RECODE Hämatokrit.0 Hämatokrit.99 (Lowest thru 39.99=0) (40 thru 52=1) (52.01 thru Highest=2)
INTO Hämatokritkategorie.0 Hämatokritkategorie.99.
VARIABLE LABELS Hämatokritkategorie.0 'Hämatokritkategorie präOP' /Hämatokritkategorie.99
'Hämatokritkategorie Studienvisite'.
EXECUTE.

FILTER OFF.
USE ALL.
EXECUTE.

DATASET ACTIVATE DatenSet1.

USE ALL.
COMPUTE filter_$=(Geschlecht = 1).
VARIABLE LABELS filter_$ 'Geschlecht = 1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.


RECODE Hämatokrit.0 Hämatokrit.99 (Lowest thru 34.99=0) (35 thru 47=1) (47.01 thru Highest=2)
INTO Hämatokritkategorie.0 Hämatokritkategorie.99.
VARIABLE LABELS Hämatokritkategorie.0 'Hämatokritkategorie präOP' /Hämatokritkategorie.99
'Hämatokritkategorie Studienvisite'.
EXECUTE.


FILTER OFF.
USE ALL.
EXECUTE.


hier ist das problem, dass er nur die werte für frauen (=1) nimmt.

-------------

für jünger als 60 und älter als 60:


DATASET ACTIVATE DatenSet1.
USE ALL.
COMPUTE filter_$=(age <= 59.99).
VARIABLE LABELS filter_$ 'age <= 59.99 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.

RECODE Kalzium.0 (Lowest thru 2.14=0) (2.15 thru 2.50=1) (2.51 thru Highest=2)
INTO Kalziumkategorie.0.
VARIABLE LABELS Kalziumkategorie.0 'Kalziumkategorie präOP'.
VALUE LABELS Kalziumkategorie.0 0 'Hypo' 1 'Eu' 2 'Hyper'.
EXECUTE.

FILTER OFF.
USE ALL.
EXECUTE.


USE ALL.
COMPUTE filter_$=(age >= 60).
VARIABLE LABELS filter_$ 'age >= 60 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.

RECODE Kalzium.0 (Lowest thru 2.19=0) (2.20 thru 2.55=1) (2.56 thru Highest=2)
INTO Kalziumkategorie.0.
VARIABLE LABELS Kalziumkategorie.0 'Kalziumkategorie präOP'.
VALUE LABELS Kalziumkategorie.0 0 'Hypo' 1 'Eu' 2 'Hyper'.
EXECUTE.

FILTER OFF.
USE ALL.
EXECUTE.

hier nimmt er mir dann nur die werte für die >=60 gruppe.

--------------------

was hab ich beiden den beiden sachen falsch gemacht?

danke!

Re: problem syntax Männer Frauen, alt jung

BeitragVerfasst: Di 25. Nov 2014, 18:38
von yue86231
If you use the filter command, only "=1" will be selected for further analyses.
It is written in the help document "syntax reference" from IBM.

I would suggest you to use
TEMPORARY.
SELECT IF....

OR

SPLIT FILE BY....