Wildcard (*) in Count Befehl mit STRING VARIABLE

Alles rund um SPSS Syntax und Programmierung.

Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 09:49

Liebe Forum-Mitglieder,
Ich möchte aus einer Reihe von nominalen Variablen (ops_ko1 bis ops_ko101) erfassen ob und wie of eine bestimmte Zahlenfolge vorkommt und hatte versucht dies mittels Wildcard (*) zu lösen. Leider führt dies nicht zum gewünschten Ergebnis.

*Aufnahme ICU.
COMPUTE icu=0.
COMPUTE icu2=0.

COUNT
icu=ops_ko1 to ops_ko101 ('8980*').
IF(icu>0) icu2=1.
EXECUTE.


Hätte jemand diesbzgl. einen Vorschlag?
Vielen Dank für eure Hilfe!
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon ponderstibbons » Mo 27. Mär 2023, 10:01

Leider führt dies nicht zum gewünschten Ergebnis.

Achso.

Was heißt das konkret? Wie lautet die Fehlermeldung?

COUNT
icu=ops_ko1 to ops_ko101 ('8980*').
IF(icu>0) icu2=1.
EXECUTE.


Das vermengt zwei Befehle. Es fehlt ein EXECUTE dazwischen.

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 10:12

Vielen Dank für die schnelle Antwort.
Es erfolgt keine Fehlermeldung. Ich möchte alle Einträge in den Variablen ops_ko1 bis ops_ko101, zählen, die mit der Zahlenfolge 8980 beginnen. Mein Befehl erfasst diese Werte leider nicht...
Ich hab das Execute noch egänzt, so dass meine Befehlszeile jetzt wie folgt ist:

*Aufnahme ICU.
COMPUTE icu=0.
COMPUTE icu2=0.

COUNT
icu=ops_ko1 to ops_ko101 ('8980*').
EXECUTE.
IF(icu>0) icu2=1.
EXECUTE.

Diese erfasst jedoch weiterhin nicht Werte, die mit '8980' beginnen.
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon ponderstibbons » Mo 27. Mär 2023, 11:48

Wenn es nicht darum geht, wie oft ein Eintrag aus einer bestimmten Zahlenfolge besteht, sondern
präzise darum, wie oft innerhalb von Einträgen eine bestimmte Zahlenfolge mindestens einmal auftritt,
dann muss der Software SPSS mitgeteilt werden, dass es nicht um den Eintrag geht, sondern um einen
substring innerhalb von Einträgen.

In der folgenden Syntax (ungetestet) werden die 101 Variablen nacheinander analysiert und die
neue Variable zaehlvar wird immer um eins hochgezählt, wenn die analysierte Variable mit dem
Substring "8980" beginnt.

COMPUTE zaehlvar = 0.

VECTOR x = ops_ko1 to ops_ko101 .
LOOP #i = 1 to 101 .
IF(CHAR.INDEX(x(#i),"8980") = 1) zaehlvar = zaehlvar+1 .
END LOOP .
EXECUTE .

COMPUTE icu = zaehlvar.
EXECUTE .

RECODE zaehlvar (0 thru highest = SYSMIS) .
EXECUTE .


Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 13:09

Vielen Dank! Das klingt genau nach der Lösung die ich brauche.

Es treten jedoch 2 Fehlermeldungen auf:
- VECTOR Die Liste der vorhandenen Variablen im Befehl VECTOR enthält inkompatible Variablen. Ein einzelner Vektor muss vollständig aus numerischen Variablen oder vollständig aus Zeichenfolgevariablen derselben Länge zusammengesetzt sein.
- IF Ein Ausdruck enthält eine Zeichenfolge, auf die eine linke runde Klammer folgt, wodurch angegeben wird, dass die Zeichenfolge ein Funktions- oder Vektorname ist, aber die Zeichen stimmen nicht mit einer vorhandenen Funktion oder einem vorhandenen Vektor überein. Prüfen Sie die Schreibweise.

Wie kann ich die beheben?
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon ponderstibbons » Mo 27. Mär 2023, 13:59

Wie kann ich die beheben?

Was ist an Ein einzelner Vektor muss vollständig aus numerischen Variablen oder
vollständig aus Zeichenfolgevariablen derselben Länge zusammengesetzt sein

noch unverständlich bzw. inwiefern entspricht das nicht den Gegebenheiten?

Der zweite Fehler ergibt sich vermutlich aus dem ersten, da kein Vektor definiert
werden konnte.

Mit freundlichen Grüßen

PonderStibbons
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 14:12

ponderstibbons hat geschrieben: inwiefern entspricht das nicht den Gegebenheiten?

Genau das frage ich mich auch.

Die Variablen
ops_ko1 bis ops_ko101
sind alle als nominale Zeichenfolgevariable mit einer Breite von 8 definiert.
Die Werte selbst haben dann zwischen 4 und 6 Stellen/Zeichen.
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 15:55

Da ich mit den Syntax Befehlen eine externe Datenbank auswerten möchte, kann ich leider die Variablen selbst nicht anpassen. Gibt es ggfs. noch einen anderen Weg?
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon ponderstibbons » Mo 27. Mär 2023, 18:33

rabe hat geschrieben:Da ich mit den Syntax Befehlen eine externe Datenbank auswerten möchte, kann ich leider die Variablen selbst nicht anpassen. Gibt es ggfs. noch einen anderen Weg?

Also müssen die Variablen doch angepasst werden, wie es die Fehlermeldung nahelegt?

Variable berechnen geht, aber Variablen für die Auswertung ändern geht nicht?
Auch nicht Daten herauskopieren und separat bearbeiten, um das Ergebnis mit der Ausgangsdatei zu verbinden?
ponderstibbons
 
Beiträge: 2523
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 2
Danke bekommen: 257 mal in 256 Posts

Re: Wildcard (*) in Count Befehl mit STRING VARIABLE

Beitragvon rabe » Mo 27. Mär 2023, 20:36

ponderstibbons hat geschrieben:Also müssen die Variablen doch angepasst werden, wie es die Fehlermeldung nahelegt?

laut der Fehlermedung ja anscheinend - ich finde nur nicht was nicht passt, da es wie gesagt alles Zahlenfolgevariablen sind.

ponderstibbons hat geschrieben:Variable berechnen geht, aber Variablen für die Auswertung ändern geht nicht?
Auch nicht Daten herauskopieren und separat bearbeiten, um das Ergebnis mit der Ausgangsdatei zu verbinden?

Ich hab einen Testdatensatz mit permutierten Werten zum testen der Syntax. Zur Auswertung kann ich dann die Syntax übermitteln und bekomme nur die Ergebnisse zurück - Datenschutz eben...
rabe
 
Beiträge: 7
Registriert: Mo 27. Mär 2023, 09:37
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu SPSS Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste

cron