Nicht definierte Variable überspringen

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
hipatrick
Beiträge: 3
Registriert: 28.02.2021, 17:46

Nicht definierte Variable überspringen

Beitrag von hipatrick »

Liebe Forumsmitglieder,

ich möchte eine Syntax erstellen, die den Befehl ausführt auch wenn eine darin enthaltene Variable komplett fehlt (nicht nur eine einzelner Werte)
Hintergrund ist folgender: Es handelt sich um drei Datensätze mit ähnlichen Variablen. Davon sind 705 Variablen in allen Datensätzen gleich, insgesamt gibt es 823 verschiedene Variablen. Konkret handelt es sich bei den Variablen um Medikamente, die Werte sind Anzahl der Verschreibungen, die unterschiedlichen Datensätze sind drei Unterschiedliche Zeit Perioden.

Ziel ist es, eine Syntax für alle drei Datensätze zu Schreiben. D.h. alle 823 Variablen in die Berechnung mit aufzunehmen ohne, dass die Befehle abbrechen da Variablen fehlen.
Wenn ich den Befehl ausführe und eine Variable fehlt erhalte ich logischerweise den Error #4285 und die Ausführung stoppt.

Gibt es eine Möglichkeit nicht definierte Variablen in einem Befehl zu überspringen?


Liebe Grüße
dutchie
Beiträge: 2765
Registriert: 01.02.2018, 10:45

Re: Nicht definierte Variable überspringen

Beitrag von dutchie »

hallo hipatrik

Was soll die syntax denn machen?

Oder willst du die drei Datensätze zusammenfügen?.. zu einer Datei?
Das würde ich als erstes machen.

Ansonsten versteh ich nicht ganz wie so ein Problem zustande kommt :(

Mir scheint auch das die Medikamente nicht die Variablen sind,
es gibt eine Variable "Medikament" mit maximal 823 Ausprägungen = Fälle.
Vielleicht ist deine Datei "falsch rum" wide statt long (gooogln).

Vielleicht die Datei mit den 705 erweitern um die fehlenden Medikamente, dann aber
nichts reinschreiben, fehlender wert, oder einfach 0 für nicht verschrieben.

gruß dutchie
hipatrick
Beiträge: 3
Registriert: 28.02.2021, 17:46

Re: Nicht definierte Variable überspringen

Beitrag von hipatrick »

Hallo Dutchie,

danke für deine Antwort.
Die Befehle sind unterschiedliche - z.B. COUNT, COMPUTE...
Der Punkt ist, dass diese Befehle auch ausgeführt werden sollen wenn eine Variable fehlt.

Zur Veranschaulichung:

Datensatz 1

Ibuprofen Pantoprazol Simvastatin Paracetamol
Pat 1 1 0 0 0
Pat 2 0 0 1 1
Pat 3 0 0 0 0
Pat 4 1 1 0 1
Pat 5 1 1 1 1

Datensatz 2

Diclofenac Pantoprazol Simvastatin Paracetamol
Pat 1 1 0 1 0
Pat 2 1 0 0 0
Pat 3 0 0 0 0
Pat 4 1 1 1 0
Pat 5 1 0 1 0

Beispiel Syntax
COUNT Schmerzmittel = Ibuprofen Diclofenac Paracetamol (1).

Dieser Befehl kann natürlich nicht ausgeführt werden, da in Datensatz 1 die Variable Diclofenac fehlt, in Datensatz 2 die Variable Ibuprofen.
Theoretisch könnte ich den Befehl auf den Datensatz anpassen, da es bei über 800 Medikamenten jedoch zu komplex und aufwendig wird, such ich nach einer Lösung - evtl. ein Makro das eine fehlende Variable im Befehl ignoriert.

Danke!
dutchie
Beiträge: 2765
Registriert: 01.02.2018, 10:45

Re: Nicht definierte Variable überspringen

Beitrag von dutchie »

Hallo patrick,

:? , also wenn du das über das Menü klickst statt eine syntax zu schreiben,
funktioniert das, da er dir dann nur die Medi anzeigt die da sind.
Über einfügen kannst du die syntax dann erzeugen.

Wenn du einen Befehl schreibst, woher weißt du welche Medi in der Datei sind?
hipatrick hat geschrieben:
01.03.2021, 17:02
Der Punkt ist, dass diese Befehle auch ausgeführt werden sollen wenn eine Variable fehlt.
Wie soll das gehn? Deine Lösungsansatz ist falsch.
Wenn es ein macro gäbe, möglich wäre, woher soll das macro wissen was fehlt.
Ich hab da keine Lösung, man müsste ganz tief in SPSS rein, und die Fehlerroutinen umschreiben. :shock:

wenn du das für jeder Medi einzeln schreibst:

COUNT
Ibuprofen_A = Ibuprofen (3) .
EXECUTE .
COUNT
E605_A = E605(3) .
EXECUTE .

aber quatsch,
das Problem ist ja, dass du zwei Datensätze hast und nicht doppelt schreiben willst und die eine
syntax über den anderen Datensatz laufen willst.

Wenn du aus den zwei Datensätzen einen machst, hast du das Problem nicht.
wenn du in beiden eine Variable, Klinik ergänzt:

Klinik buprofen Pantoprazol Simvastatin Paracetamol
A Pat 1 1 0 0 0
A Pat 2 0 0 1 1
A Pat 3 0 0 0 0
A Pat 4 1 1 0 1
A Pat 5 1 1 1 1

Klinik Diclofenac Pantoprazol Simvastatin Paracetamol
B Pat 1 1 0 1 0
B Pat 2 1 0 0 0
B Pat 3 0 0 0 0
B Pat 4 1 1 1 0
B Pat 5 1 0 1 0

dann über [Daten]--> [Dateien zusammenfassen]-->[Fälle hinzufügen]
die Dateien verheiratest (auf Rechtschreibung achten),
würde das dann gehen. Übe das mit Beispieldatensätze.
Du bekommst dann fehlende Werte, wenn eine Variable in einer datei fehlt
und die Zahlen stehen untereinander, wenn die Variablen matchen.

gruß
dutchie
hipatrick
Beiträge: 3
Registriert: 28.02.2021, 17:46

Re: Nicht definierte Variable überspringen

Beitrag von hipatrick »

Hallo dutchie,

du hast Recht, der Lösungsansatz ist, eine Datei zu verwenden. Auf Grund der Größe des Datensatzes wollte ich das eigentlich vermeiden.
Ich hatte die Hoffnung, dass ich ein Makro erstellen kann das mir eine Variablen Liste erstellt und diese Variablen dann in dem Befehl verwendet. Wenn du nun auch der Meinung bist, dass es sowas nicht gibt und meine Forensuche auch nicht erfolgreich war, kann ich mir wenigstens sicher sein, dass ich nicht umständlich gearbeitet habe.

Herzlichen Dank
Patrick
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