Berechnung des Alters aus dem Geburtsdatum

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.
georggraph
Beiträge: 114
Registriert: 30.03.2009, 09:39

Beitrag von georggraph »

Hallo chakla_girl,

ich denke, die folgende Syntax könnte Dir weiterhelfen:

Code: Alles auswählen

COMPUTE Alter = DATEDIFF(DatumHeute,DatumGeburtstag,"months")/12. 
FORMAT Alter (F8.2).
EXE.
COMPUTE Alter_1 = TRUNC(Alter).
COMPUTE Alter_2 = (MOD(Alter,1))*12.
EXE.
STRING Alter_s1 Alter_s2 Alter_3 (A8).
COMPUTE Alter_s1 = LTRIM(RTRIM(STRING(Alter_1,F8))).
COMPUTE Alter_s2 = LTRIM(RTRIM(STRING(Alter_2,F8))).
EXE.
COMPUTE Alter_3 = CONCAT(RTRIM(Alter_s1),";",RTRIM(Alter_s2)).
EXE.

Die String-Variable Alter_3 gibt dann das Alter im von Dir gewünschten Format aus.

Zugegeben, der Weg ist etwas umständlich. Falls jemand eine "smartere" Lösung weiß, bitte posten.

Grüße,
georggraph
MissManagement
Beiträge: 1
Registriert: 20.12.2009, 16:25

Beitrag von MissManagement »

Au weia. :oops:

Da habe ich mich ja auf etwas eingelassen, wenn ich mich hier so durch die Threads lese...

(Hallo erst einmal - ich nehme mal ganz vorsichtig Kontakt mit dieser Welt auf.)

Ich versuche schon seit Stunden etwas eigentlich ganz Einfaches:
Wie der Threaderöffner möchte ich die Geburtstage meine lieben Patienten in deren Alter umwandeln.

Ich habe das Untersuchungsdatum, von dem der Geburtstag zu subrahieren ist.

Alle beide Variablen sind als Datum definiert, wenn ich (unter spss 18) nun unter "Transformieren: Variablen berechnen" das ganze nassforsch laufen lasse, kommen horrende Werte raus, aber kein Alter.

Liegt das daran, dass die Geburtstage mit Punkt (10.10.1990) eingegeben worden sind?

Oder was mache ich so falsch? :?







edit:

Ich hab's, ich hab's, ich hab's, ich hab's -
yippiiiiieeee


also, für alle, die auch vor diesem Problem stehen und zufällig spss 18 verwenden:
variable alter: transformieren -> variable berechnen -> datumsarithmetik (unter funktionsgruppe) -> datediff (untersuchungsdatum, geburtstag, "years")

fertig ist die lauge... mannomann, zangengeburt.
KarinJ
Beiträge: 939
Registriert: 13.05.2008, 10:52

Beitrag von KarinJ »

meines wissens nach gar nicht, weil dann eine variable 2 einheiten enthalten würde. um damit rechnen zu können, kann man nur eine einheit haben z.b. jahre, wobei monate dann als bruchteile vom jahr hinter dem komma stehen müssten, d.h. 3 monate wären 0,25 jahre.
mandy
Beiträge: 2
Registriert: 20.08.2012, 14:20

Beitrag von mandy »

hallo ihr lieben.

ich hab da auch ein kleines problem bei der altesberechnung. also prinzipiell haut das ja alles hin. ich erechne die variable 'alter' aus 'aufnahmedatum' und 'geburtsdatum'. das funktioniert prima unter spss 20.
wir geben allerdings nach und nach patientendaten ein und wenn ich einen neuen patieten aufnehme, dessen daten eintrage, rechnet mir spss das alter nicht automatisch aus. ist es richtig, dass ich dann jedes mal den befehl zum alter berechnen erneut ausführen muss? oder gibts in irgendner art und weise eine funktion bei spss wie bei excel zum beispiel?

ich freu mich auf ne produktive antwort.
liebe grüße.
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

gibts in irgendner art und weise eine funktion bei spss wie bei excel zum beispiel?
Nein.
mandy
Beiträge: 2
Registriert: 20.08.2012, 14:20

Beitrag von mandy »

danke und mist.
Taentopia
Beiträge: 4
Registriert: 02.11.2013, 19:55

Alter aus Geburtsjahr und -monat berechnen

Beitrag von Taentopia »

Ich hab leider noch nicht so viel Erfahrung mit der SPSS Syntax und hab folgendes Problem:

Das Geburtsdatum liegt bei mir anhand von zwei Variablen vor, nämlich eine Variable "Geburtsjahr" und eine Variable "Geburtsmonat".
Daraus müsste ich nun das Alter in Jahren/Monaten bis zum jetztigen Zeitpunkt (also 2013/12) berechnen. Kann ich das machen, ohne eine neue Datumsvariable aus den beiden zu berechenen?
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

eine von vielen Möglichkeiten:

Code: Alles auswählen



*-------- erzeugt nur einen Beispielsdatensatz.

DATA LIST FREE / jahr monat.
BEGIN DATA.
1978	1
1979	2
1980	3
1981	4
1982	5
1983	6
1984	7
1985	8
1986	9
1987	10
1988	11
1989	12
END DATA.
EXECUTE.

*------------- hier das gegenwärtige Datum eingeben.

COMPUTE JahrHEUTE  = 2013.
COMPUTE MonatHEUTE = 12.
EXECUTE.

*-------------- hier die Fallunterscheidung und Berechnung in Monaten.

DO IF (MonatHEUTE - Monat) GT 0.
COMPUTE Alter_in_Monaten = (JahrHEUTE - Jahr) * 12 + (MonatHEUTE - Monat).
ELSE IF (MonatHEUTE - Monat) EQ 0.
COMPUTE Alter_in_Monaten = (JahrHEUTE - Jahr) * 12 .
ELSE IF (MonatHEUTE - Monat) LT 0.
COMPUTE Alter_in_Monaten = (JahrHEUTE - Jahr) * 12 - (Monat - MonatHEUTE).
ELSE.
END IF.
EXECUTE.

*-------------- hier zusätzlich die Berechnung von Jahren und Monaten getrennt nach Variablen.

COMPUTE AlterJahre = TRUNC(Alter_in_Monaten / 12).
COMPUTE AlterMonate = (Alter_in_Monaten / 12 - TRUNC(Alter_in_Monaten / 12))*12.
EXECUTE.





drfg2008
Taentopia
Beiträge: 4
Registriert: 02.11.2013, 19:55

Beitrag von Taentopia »

Wow, hat wunderbar geklappt! Vielen Dank! Ich wünschte, man könnte Kekse übers Internet schicken...
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

kann man:

http://www.das-keks-backstuebchen.de/

-> Scherz ; -)
drfg2008
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