Daten aggregieren auf bestimmte Welle selektieren

Hallo,

 

ich möchte keinen Fehler in der Datenaufbereitung machen, daher bitte ich um Hilfe, wie die Synthax in SPSS korrekt aussehen könnte für folgendes: 

Ich möchte Daten aggregieren, damit ich die Daten zur gleichen Zeit präsent habe, die in unterschiedlichen Wellen erhoben wurden.

Ich muss also die Struktur verändern und die daten aufbereiten. 

Ich möchte den Zusammenhang z.b. zwischen der Variable Fächergruppe 1 (tg04001_g3) zu den Abbruchgründen bzw. berufl Orientierung  

Dh. ich möchte bei der Variable tg04001_g3 auf wave=1 selektieren, sowie Variablen ID_t wave t66210n t66210e_g1 z.B. auf wave=3 selektieren.

 

Wie könnte der Synthax hierfür genau aussehen?

Vielen Dank schon mal im Voraus!

 

LG

Hallo sowi,
ohne mehr Details dazu, wie der zusammengefügte Datensatz aussehen soll, ist die Beantwortung der Frage leider etwas schwierig. Ich gehe für das Beispiel unten davon aus, dass eine „einfache“ Pseudo-Querschnitts-Analyse vorgenommen werden will – Probleme wegen der zeitlich getrennten Erhebung der Informationen werden dabei natürlich nicht berücksichtigt.

Im Grunde ist unsere zentrale Datenaufbereitungsempfehlung zur Erstellung eines Analysedatensatzes immer gleich: Man extrahiere aus jeder Datendatei die Information, die zur Analyse benötigt wird, und verbinde am Ende diese Extrakte zu einem Analysedatensatz. Dabei ist prinzipiell irrelevant, ob unterschiedliche Datensätze, oder unterschiedliche Wellen ein und desselben Datensatzes angefasst werden.

Das Ganze geht in der Regel mit Stata etwas leichter von der Hand, weil die Syntaxlogik insbesondere für Datenaufbereitungsbefehle etwas konsistenter ist, funktioniert aber natürlich genauso gut in SPSS. Ein Beispiel illustriert der folgende Code (mangels weiterer Information gehe ich davon aus, von Interesse ist der aktuelle SUF der NEPS-Startkohorte 5 – Studierende):

* Alte Datenfenster schließen.
DATASET CLOSE ALL.

* Arbeitsverzeichnis angeben.
CD 'HIER SUF-SPEICHERORT ANGEBEN'.

* Welle-1-Daten öffnen.
GET FILE='SC5_pTarget_D_10-0-0.sav'
 /KEEP=ID_t wave tg04001_g3.
DATASET NAME wave1data.
DATASET ACTIVATE wave1data.
SELECT IF wave EQ 1.
SORT CASES BY ID_t.
EXECUTE.

* Welle-3-Daten öffnen.
GET FILE='SC5_pTarget_D_10-0-0.sav'
 /KEEP=ID_t wave t66210n t66210e_g1.
DATASET NAME wave3data.
DATASET ACTIVATE wave3data.
SELECT IF wave EQ 3.
SORT CASES BY ID_t.
EXECUTE.

* Welle-1-Daten an Welle-3-Daten anfügen.
MATCH FILES
 /FILE=*
 /FILE='wave1data'
 /BY ID_t.
EXECUTE.

* Beobachtungen entfernen, die nur in Welle 1, nicht aber in Welle 3 teilgenommen haben.
SELECT IF WAVE EQ 3.
EXECUTE

* Datenfenster benennen, unbenötigtes Datenfenster schließen.
DATASET NAME combined.
DATASET CLOSE wave1data.

Ich hoffe, das hilft weiter.

Beste Grüße,
Daniel Bela

PS: Wir bevorzugen, wie auch in der Netiquette beschrieben, zur besseren Ansprache „echte“ Namen als Benutzernamen. Das macht den ganzen Umgang etwas kollegialer, so hoffen wir. Der Anzeigename lässt sich im Benutzerprofil ändern.

Super :) Vielen Dank! Sie haben mir schon sehr geholfen! Wenn ich nun auch noch nach der gleichen Logik noch Daten in den combined Datensatz einfügen möchte, die lediglich in Welle 5 erhoben wurden, wie z.B. t66406c. 

Wäre das dann so?: 

* Welle-1-Daten öffnen.

GET FILE='SC5_pTargetCATI_D_10-0-0.sav'

 /KEEP=ID_t wave tg04001_g3.

DATASET NAME wave1data.

DATASET ACTIVATE wave1data.

SELECT IF wave EQ 1.

SORT CASES BY ID_t.

EXECUTE.

 

* Welle-3-Daten öffnen.

GET FILE='SC5_pTargetCATI_D_10-0-0.sav'

 /KEEP=ID_t wave t31300a t31300b t31300j t31300m t31300n t66800a t66800a_g1 t66800b t66800b_g1 t66800c t66800c_g1 t66800d t66800d_g1 t66800e t66800e_g1 t66800f t66800g t66800h t66800i t66800j t66800k t66003a t66003a_g1 t66003b

DATASET NAME wave3data.

DATASET ACTIVATE wave3data.

SELECT IF wave EQ 3.

SORT CASES BY ID_t.

EXECUTE.

 

* Welle-1-Daten an Welle-3-Daten anfügen.

MATCH FILES

 /FILE=*

 /FILE='wave1data'

 /BY ID_t.

EXECUTE.

 

* Beobachtungen entfernen, die nur in Welle 1, nicht aber in Welle 3 teilgenommen haben.

SELECT IF WAVE EQ 3.

EXECUTE

* Welle-5-Daten öffnen.

GET FILE='SC5_pTargetCATI_D_10-0-0.sav'

 /KEEP=ID_t wave t66406c t66407c

DATASET NAME wave5data.

DATASET ACTIVATE wave5data.

SELECT IF wave EQ 5.

SORT CASES BY ID_t.

EXECUTE.

 

* Welle-1-Daten an Welle-5-Daten anfügen.

MATCH FILES

 /FILE=*

 /FILE='wave1data'

 /BY ID_t.

EXECUTE.

 

* Beobachtungen entfernen, die nur in Welle 1, nicht aber in Welle 3 teilgenommen haben.

SELECT IF WAVE EQ 5.

EXECUTE

* Datenfenster benennen, unbenötigtes Datenfenster schließen.

DATASET NAME combined.

DATASET CLOSE wave1data.

 

Stimmt das? Schonmal vielen Dank im Voraus!

LG

Anna