Neue Variable aus mehreren Textvariablen erstellen

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
vogts
Beiträge: 3
Registriert: 11.10.2018, 17:29

Neue Variable aus mehreren Textvariablen erstellen

Beitrag von vogts »

Hallo Zusammen

Ich versuche seit einiger eine neue Variable zu erstellen, scheitere aber bei meinen Versuchen und habe keine Ideen mehr...
Ich möchte aus mehreren Textvariablen, die medizinische Diagnose-Codes (ICD-10) enthalten, eine neue Variable erstellten. Diese neue Variable soll angeben, ob mind. einer von mehreren Diagnose-Codes (z.B. F05.1, F05.8, F05.9, F10.4, etc) enthalten ist (ja=1, nein=0).
Mein bisher hoffnungsvollster Versuch war folgender:
COMPUTE Delir_cod = ANY ("F05", "F05.1", "F05.8", "F05.9", "F10.4", "F11.4", "F12.4", "F13.4", "F14.4", "F15.4", "F16.4", "F17.4", "F18.4", "F19.4",
Hdiag_ICD10, Wdiag_1, Wdiag_2, Wdiag_3, Wdiag_4, Wdiag_5, Wdiag_6, Wdiag_7, Wdiag_8, Wdiag_9, Wdiag_10, Wdiag_11,
Wdiag_12, Wdiag_13, Wdiag_14, Wdiag_15, Wdiag_16, Wdiag_17, Wdiag_18, Wdiag_19, Wdiag_20, Wdiag_21, Wdiag_22,
Wdiag_23, Wdiag_24, Wdiag_25, Wdiag_26, Wdiag_27, Wdiag_28, Wdiag_29, Wdiag_30, Wdiag_31, Wdiag_32, Wdiag_33,
Wdiag_34, Wdiag_35, Wdiag_36, Wdiag_37, Wdiag_38, Wdiag_39, Wdiag_40, Wdiag_41, Wdiag_42, Wdiag_43, Wdiag_44,
Wdiag_45, Wdiag_46, Wdiag_47, Wdiag_48, Wdiag_49, Wdiag_50).
EXECUTE.

Leider bekam ich wahlweise eine Fehlermeldung oder der Wert in der neuen Variable "Delir_cod" war immer 0 (was nicht dem entspricht, was berechnet werden soll).

Habe ich die Syntax falsch (via Variable Berechnen) oder kennt jemand einen ganz anderen Lösungsweg?

Vielen Dank für eure Hilfe!

Liebe Grüsse
Stefan
dutchie
Beiträge: 2734
Registriert: 01.02.2018, 10:45

Re: Neue Variable aus mehreren Textvariablen erstellen

Beitrag von dutchie »

hallo

wenn da nur einser und nuller drin stehen
summiere doch einfach auf über sum()

warum sind manche variablen in anführungszeichen "" gesetzt?
sind das string variablen, wozu ? wenn da zahlen drin stehen...

wenn dann vielleicht so ANY(1,V1,V2,....)
dann kriegst du als output nur 1 oder 0, aber nicht die summe der diagnosen...

gruß
dutchie
vogts
Beiträge: 3
Registriert: 11.10.2018, 17:29

Re: Neue Variable aus mehreren Textvariablen erstellen

Beitrag von vogts »

Vielen Dank für die Antwort. Ich glaube, ich habe die Situation nicht präzise genug geschildert:
- Hdiag_ICD10, Wdiag_1, Wdiag_2, Wdiag_3,... sind meine String-Variablen, welche unzählige Diagnosecodes enthalten.
- "F05", "F05.1", "F05.8",... sind meine Diagnosecodes, die ich aus den String-Variablen herauslesen möchte.
- In Anführungszeichen gesetzt habe ich sie, weil ich sonst eine Fehlermeldung bekommen habe und so nicht. War also ein Versuch aus Unwissheit :roll:
- Der Output soll am Ende 1 oder 0 sein. Wenn ich die Summe erhalte, könnte ich damit aber auch weiterarbeiten und diese in 1 und 0 umrechnen.

Vielen Dank und ein schönes Wochenende
Stefan
dutchie
Beiträge: 2734
Registriert: 01.02.2018, 10:45

Re: Neue Variable aus mehreren Textvariablen erstellen

Beitrag von dutchie »

hallo

ach so, na dann wird das problem nicht kleiner..
also das ANY dings kann nur einen "wert" lesen...

versuche mal alle variablen umzukodieren, so das du numerische Variablen hast..
du kannst eventuell aus dem string der da steht, alle zeichen einzeln auslesen
und in einen neue variable packen ...
wäre meine erste ideen...
wird aber getüftel..oder eliminiere nur das "F"

gruß
dutchie
vogts
Beiträge: 3
Registriert: 11.10.2018, 17:29

Re: Neue Variable aus mehreren Textvariablen erstellen

Beitrag von vogts »

Hallo Dutchie

Vielen Dank für deine Antwort. Ich war überzeugt, dass es einen eleganten Weg in SPSS geben muss, in dem ich mit ein oder zwei Schritten an mein Ziel komme.

Ich habe nun den umständlichen Weg genommen und bin auch an mein Ziel gekommen:
- Ich habe alle meine Diagnose-Variablen (39) mit folgender Syntax umcodiert:
RECODE Hdiag_ICD10 ('F05.0'=1) ('F05.1'=1) ('F05.8'=1) ('F05.9'=1) ('F10.4'=1) ('F11.4'=1)
('F12.4'=1) ('F13.4'=1) ('F14.4'=1) ('F15.4'=1) ('F16.4'=1) ('F17.4'=1) ('F18.4'=1) ('F19.4'=1)
(ELSE=0) INTO F_Hdiag.
VARIABLE LABELS F_Hdiag 'Hauptdiagnosen zu Delir'.
EXECUTE.
- Danach wie vorgeschlagen aus allen die Summe gebildet:
COMPUTE Delir_Diag_cod = SUM(F_Hdiag,F_Wdiag_1,F_Wdiag_2,F_Wdiag_3,F_Wdiag_4,F_Wdiag_5,F_Wdiag_6,F_Wdiag_7,F_Wdiag_8,F_Wdiag_9,F_Wdiag_10,F_Wdiag_11,F_Wdiag_12,F_Wdiag_13,F_Wdiag_14,F_Wdiag_15,F_Wdiag_16,F_Wdiag_17,F_Wdiag_18,F_Wdiag_19,F_Wdiag_20,F_Wdiag_21,F_Wdiag_22,F_Wdiag_23,F_Wdiag_24,F_Wdiag_25,F_Wdiag_26,F_Wdiag_27,F_Wdiag_28,F_Wdiag_29,F_Wdiag_30,F_Wdiag_31,F_Wdiag_32,F_Wdiag_33,F_Wdiag_34,F_Wdiag_35,F_Wdiag_36,F_Wdiag_37,F_Wdiag_38).
EXECUTE.
- Und diese wieder in 1 und 0 umcodiert:
RECODE Delir_Diag_cod (0=0) (1 thru 3=1) INTO Delir_ICD10.
VARIABLE LABELS Delir_ICD10 'Delirdiagnose nach ICD-10'.
EXECUTE.

Herzlichen Dank für deine Unterstützung und das Mitdenken!
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