Hilfe bei Syntax (Fallauswahl und Häufigkeitstabellen)

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
regina78
Beiträge: 11
Registriert: 06.09.2010, 11:55

Hilfe bei Syntax (Fallauswahl und Häufigkeitstabellen)

Beitrag von regina78 »

Guten Morgen allerseits,

eine Frage: Kann mir jemand bei einer Syntaxumformulierung helfen?

Ich sitze noch an meiner Auswertung von einer Markennutzungsbefragung (hatte ich neulich schon mal was zu gepostet). Prinzip: Jeder Befragte gibt an, welche 8 Haushaltsartikel (FMCG) er regelmäßig nutzt. Dabei kann man 1 bis 8 Antworten angeben und diese sind exklusiv, d.h. die Zahnpasta "Superweiß" kann man nur einmal pro Befragtem angeben.

Nun will ich die Demographie der ggf. die Marke ebenfalls nutzenden Familienangehörigen pro genutzter Marke auswerten. Diese wird ebenfalls pro angegebener Marke abgefragt.

Meine Syntax dafür lautet wie folgt:

USE ALL.
COMPUTE filter_$=((marke_1 = 1)).
VARIABLE LABELS filter_$ '(marke_1 = 1) (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FREQUENCIES VARIABLES=f9a_1 f9c_1 f9e_1 f9g_1 f9i_1
/ORDER=ANALYSIS.

USE ALL.
COMPUTE filter_$=((marke_2 = 1)).
VARIABLE LABELS filter_$ '(marke_1 = 1) (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FREQUENCIES VARIABLES=f9a_2 f9c_2 f9e_2 f9g_2 f9i_2
/ORDER=ANALYSIS.

USE ALL.
COMPUTE filter_$=((marke_3 = 1)).
VARIABLE LABELS filter_$ '(marke_1 = 1) (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FREQUENCIES VARIABLES=f9a_3 f9c_3 f9e_3 f9g_3 f9i_3
/ORDER=ANALYSIS.

...

USE ALL.
COMPUTE filter_$=((marke_8 = 1)).
VARIABLE LABELS filter_$ '(marke_1 = 1) (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
FREQUENCIES VARIABLES=f9a_8 f9c_8 f9e_8 f9g_8 f9i_8
/ORDER=ANALYSIS.

[Anm: "marke_1" bis "marke_8" sind die 8 Markenvariablen pro Befragten (entweder mit Markencodierung versehen oder leer gelassen, hier wird die Nutzung der Marke 1 (von den 300) per Filter angenommen) und "f9a_1" bis "f9i_1" usw. sind hier die Altersangaben der max. 5 Kinder pro Marke, die diese ebenfalls mitnutzen, diese werden pro Marke separat abgefragt]

Problem dabei ist, dass ich dann eine zwar Einzelauswertung pro Marke erhalte, allerdings sind die 8 Fälle hier noch separat aufgeführt (je nach der Stelle, an der sie genannt wurden, also von 1 bis 8 ) und ich muss sie per Hand hinterher wieder zusammenrechnen. Ich erhalte also 5*8=40 Häufigkeitstabellen pro Marke.

Zusätzlich habe ich ca. 300 Marken abgefragt, (001 wie hier bis 300), so dass ich 300*5*8=12.000 Einzeltabellen anfassen müsste. :shock: :shock:


Gibt es eine Syntax, die das bereits vorher auf Markenebene aggregiert und automatisch von 1 bis 300 durchläuft? Lefuet hatte kürzlich netterweise ein Makro dazu gepostet, das ich aber mangels Ahnung nicht anpassen kann.

Oder kann man da sinnvoll eine Mehrfachantwortenzusammenfassung vornehmen?

Vielen Dank schonmal,

Regina. :?
Lefuet
Beiträge: 19
Registriert: 11.08.2010, 09:42

Beitrag von Lefuet »

Kannst du nochmal kurz posten, was ich damals geschrieben hab...hab jetzt keine Lust zu suchen oder neu zu schreiben...
regina78
Beiträge: 11
Registriert: 06.09.2010, 11:55

Beitrag von regina78 »

Lefuet hat geschrieben:Kannst du nochmal kurz posten, was ich damals geschrieben hab...hab jetzt keine Lust zu suchen oder neu zu schreiben...
Hier dein Beitrag (http://www.statistik-tutorial.de/forum/ftopic3779.html):


Das ist am besten mit nem Makro möglich...

Code:

*Makrostart...der geht jetzt 300 Mal los und guckt ob ne 1, 2 , usw.
*in der einer der Markenvariablen stehen. Du musst dann noch
*OR marke3 = !var OR marke4 = !var usw. bis marke8 oder was du hast
*in den if-Befehl einfügen. Da wo jetzt Frequencies steht musst du dann
*deine Sachen reinschreiben...Tabellen oder was du halt willst...

DEFINE !marken ()

!DO !var=1 !TO 300
COMPUTE dummy = 0 .
IF marke1 = !var OR marke2 = !var dummy=1 .
FILTER BY dummy .
FREQUENCIES VARIABLES=marke1 alter .
FILTER OFF .

!DOEND .

!ENDDEFINE .

*Hier erfolgt der Aufruf.
!marken () .


Ich hoffe das ist was du wolltest und ich konnte dir helfen?!

Gruß
lefueT
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