Mehrere Datendateien zusammen fassen - besondere Bedingungen
-
- Beiträge: 8
- Registriert: 11.01.2014, 12:51
Mehrere Datendateien zusammen fassen - besondere Bedingungen
Schönen guten Morgen,
ich stehe vor folgendem Problem:
Ich habe für meine Masterarbeit zugriff auf eine von der Uni durchgeführte Panelumfrage (wird seit 4 Semestern durchgeführt mit 3 Erhebungen pro Semester). Der Fragebogen ist in jeder Erhebungswelle der gleiche (sprich, an den Variablennamen ändert sich nichts) und es ist auch sehr wahrscheinlich und eigentlich auch erhofft, dass Teilnehmer an mehreren der Erhebungen teilgenommen haben. Um das zu überprüfen wurde den Teilnehmern ein Code (2. Buchstabe des Vornamens der Mutter, Datum des Geburtstages, 1. Buchstabe des Nachnamens des Vaters usw...) zugeordnet.
Nun möchte ich alle Datendateien in eine einzelne integrieren, stehe dabei aber vor ein paar Problemen:
1) Die Datendatei soll quasi nach "rechts" erweitert werden, dass heißt beim Import der Daten einer Datei in die Zieldatei soll SPSS nach Möglichkeit automatisch anhand des Personencodes überprüfen, ob der Teilnehmer bereits vorhanden ist oder nicht. Ist er nicht vorhanden, soll er als neuer Teilnehmer angelegt werden, ist er vorhanden, sollen die Daten ergänz werden.
2) Den Variablennamen soll nach Möglichkeit automatisch um ein Zeitlabel erweitert werden, also dass z.B. alle v1 aus Erhebungswelle 1 in v1_t1, aus Erhebungswelle 2 in v1_t2 umbenannt werden. Ich möchte das nur sehr ungern von Hand machen, da es wirklich VIELE variablen sind, dafür gibt es doch sicher auch eine FUnktion.
Ich habe das Gefühl, dass ich noch nicht ganz vertsändlich gemacht habe, was ich will, daher hier noch einmal "Grafisch":
Erhebung zum Zeitpunkt t1:
Teilnehmer a: v1, v2, v3, v4
Teilnehmer b: v1, v2, v3, v4
Teilnehmer c: v1, v2, v3, v4
Erhebung zum Zeitpunkt t2:
Teilnehmer a: v1, v2, v3, v4
Teilnehmer c: v1, v2, v3, v4
Teilnehmer d: v1, v2, v3, v4
Erhebung zum Zeitpunkt t3:
Teilnehmer b: v1, v2, v3, v4
Teilnehmer d: v1, v2, v3, v4
Teilnehmer e: v1, v2, v3, v4
Das alles soll eingefügt werden in eine neue Datendatei, die dann so aussehen soll:
Teilnehmer a: v1_t1, v1_t2, v2_t1, v2_t2, v3_t1, v3_t2, v4_t1, v4_t2
Teilnehmer b: v1_t1, v1_t3, v2_t1, v2_t3, v3_t1, v3_t3, v4_t1, v4_t3
Teilnehmer c: v1_t1, v1_t2, v2_t1, v2_t2, v3_t1, v3_t2, v4_t1, v4_t2
Teilnehmer d: v1_t2, v1_t3, v2_t2, v2_t3, v3_t2, v3_t3, v4_t2, v4_t3
Teilnehmer e: v1_t3, v2_t3, v3_t3, v4_t3
Ich hoffe, das hat es verständlicher gemacht.
Ach ja, an der Uni verwenden wir SPSS21.
Beste Grüße und Danke im Voraus für die Hilfe
ich stehe vor folgendem Problem:
Ich habe für meine Masterarbeit zugriff auf eine von der Uni durchgeführte Panelumfrage (wird seit 4 Semestern durchgeführt mit 3 Erhebungen pro Semester). Der Fragebogen ist in jeder Erhebungswelle der gleiche (sprich, an den Variablennamen ändert sich nichts) und es ist auch sehr wahrscheinlich und eigentlich auch erhofft, dass Teilnehmer an mehreren der Erhebungen teilgenommen haben. Um das zu überprüfen wurde den Teilnehmern ein Code (2. Buchstabe des Vornamens der Mutter, Datum des Geburtstages, 1. Buchstabe des Nachnamens des Vaters usw...) zugeordnet.
Nun möchte ich alle Datendateien in eine einzelne integrieren, stehe dabei aber vor ein paar Problemen:
1) Die Datendatei soll quasi nach "rechts" erweitert werden, dass heißt beim Import der Daten einer Datei in die Zieldatei soll SPSS nach Möglichkeit automatisch anhand des Personencodes überprüfen, ob der Teilnehmer bereits vorhanden ist oder nicht. Ist er nicht vorhanden, soll er als neuer Teilnehmer angelegt werden, ist er vorhanden, sollen die Daten ergänz werden.
2) Den Variablennamen soll nach Möglichkeit automatisch um ein Zeitlabel erweitert werden, also dass z.B. alle v1 aus Erhebungswelle 1 in v1_t1, aus Erhebungswelle 2 in v1_t2 umbenannt werden. Ich möchte das nur sehr ungern von Hand machen, da es wirklich VIELE variablen sind, dafür gibt es doch sicher auch eine FUnktion.
Ich habe das Gefühl, dass ich noch nicht ganz vertsändlich gemacht habe, was ich will, daher hier noch einmal "Grafisch":
Erhebung zum Zeitpunkt t1:
Teilnehmer a: v1, v2, v3, v4
Teilnehmer b: v1, v2, v3, v4
Teilnehmer c: v1, v2, v3, v4
Erhebung zum Zeitpunkt t2:
Teilnehmer a: v1, v2, v3, v4
Teilnehmer c: v1, v2, v3, v4
Teilnehmer d: v1, v2, v3, v4
Erhebung zum Zeitpunkt t3:
Teilnehmer b: v1, v2, v3, v4
Teilnehmer d: v1, v2, v3, v4
Teilnehmer e: v1, v2, v3, v4
Das alles soll eingefügt werden in eine neue Datendatei, die dann so aussehen soll:
Teilnehmer a: v1_t1, v1_t2, v2_t1, v2_t2, v3_t1, v3_t2, v4_t1, v4_t2
Teilnehmer b: v1_t1, v1_t3, v2_t1, v2_t3, v3_t1, v3_t3, v4_t1, v4_t3
Teilnehmer c: v1_t1, v1_t2, v2_t1, v2_t2, v3_t1, v3_t2, v4_t1, v4_t2
Teilnehmer d: v1_t2, v1_t3, v2_t2, v2_t3, v3_t2, v3_t3, v4_t2, v4_t3
Teilnehmer e: v1_t3, v2_t3, v3_t3, v4_t3
Ich hoffe, das hat es verständlicher gemacht.
Ach ja, an der Uni verwenden wir SPSS21.
Beste Grüße und Danke im Voraus für die Hilfe
-
- Beiträge: 346
- Registriert: 25.09.2012, 15:04
In SPSS - Daten --> Dateien zusammenfügen --> ...
Die Variablen, die neu hinzukommen sollen, müssen von vornherein auch einen anderen Namen haben, als die "alten" Variablen.
Die Datensaätze müssen anhand einer eindeutigen ID-Variablen zusammengefügt werden und diese muss aufsteigend sortiert sein, damit SPSS die Fälle/Befragten automatisch+richtig zuordnen kann.
Die Variablen, die neu hinzukommen sollen, müssen von vornherein auch einen anderen Namen haben, als die "alten" Variablen.
Die Datensaätze müssen anhand einer eindeutigen ID-Variablen zusammengefügt werden und diese muss aufsteigend sortiert sein, damit SPSS die Fälle/Befragten automatisch+richtig zuordnen kann.
-
- Beiträge: 8
- Registriert: 11.01.2014, 12:51
Das heißt, ich muss per Hand alle Variablen umbenennen?
Was heißt in diesem Zusammenhang aufsteigend sortiert? Wenn ich jetzt über diese Code-Variable zusammen fügen will, die jedem Teilnehmer zugeordnet wird, kann ich dann jeden Datensatz mit sort cases by Code (vorausgesetzt, die Variable heißt auch so) sortieren oder benötige ich da einen anderen Befehl?
Was heißt in diesem Zusammenhang aufsteigend sortiert? Wenn ich jetzt über diese Code-Variable zusammen fügen will, die jedem Teilnehmer zugeordnet wird, kann ich dann jeden Datensatz mit sort cases by Code (vorausgesetzt, die Variable heißt auch so) sortieren oder benötige ich da einen anderen Befehl?
-
- Beiträge: 346
- Registriert: 25.09.2012, 15:04
-
- Beiträge: 8
- Registriert: 11.01.2014, 12:51
-
- Beiträge: 8
- Registriert: 11.01.2014, 12:51
Ok, danke soweit.
Mit dem Umbenennen bin ich jetzt soweit durch, allerdings stehe ich vor einem neuen Problem.
Der Teilnehmercode wurde nicht am Stück abgefragt, sondern in einzelnen Zeichen. Soll heißen, statt der Variable "Code", der dann zum Beispiel der Wert "MN20G18" zugeordnet ist, habe ich die Variablen "Code1" mit dem Wert M, "Code2" mit dem Wert N, "Code3" mit dem Wert 20 usw... Ich habe in meinem Datensatz also 6 Code-Variablen mit jeweils nur einem Zeichen oder Ziffer darin, statt einer Codevariable.
Kann ich diese 6 Variablen irgendwie zu einer Zusammen fassen?
Mit dem Umbenennen bin ich jetzt soweit durch, allerdings stehe ich vor einem neuen Problem.
Der Teilnehmercode wurde nicht am Stück abgefragt, sondern in einzelnen Zeichen. Soll heißen, statt der Variable "Code", der dann zum Beispiel der Wert "MN20G18" zugeordnet ist, habe ich die Variablen "Code1" mit dem Wert M, "Code2" mit dem Wert N, "Code3" mit dem Wert 20 usw... Ich habe in meinem Datensatz also 6 Code-Variablen mit jeweils nur einem Zeichen oder Ziffer darin, statt einer Codevariable.
Kann ich diese 6 Variablen irgendwie zu einer Zusammen fassen?
-
- Beiträge: 8
- Registriert: 11.01.2014, 12:51
So, ich habe das nächste Problem.
Ich habe jetzt jeden einzelnen Datensatz soweit aufbereitet und zusätzlich in Datensatz 1 die Variable Data_1, die für jeden Teilnehmer dieser Erhebung 1 ist, für Datensatz 2 die Variable Data_2, die für jeden Teilnehmer dieser Erhebung 1 ist usw eingefügt, um hinterher zuordnen zu können, bei welchen Erhebungen ein Teilnehmer mitgemacht hat (also z.B. 80 Teilnehmer, die an Erhebung 1 teilgenommen haben, haben auch an Erhebung 2 Teil genommen).
Nun bekomme ich Probleme beim Zusammenfassen aller einzelnen Datensätze in einen Masterdatensatz. Die Integration der Teilnehmer scheint zu funktionieren, ebenso die der Variablen. Wenn ich jetzt aber mithilfe der Data-Variablen nachvollziehen will, welche Teilnehmer der Erhebung 1 auch an 2, 3, 4 usw. teilgenommen haben, bekomme ich immer 0 raus. Aufgrund der Art der Datenerhebung ist es allerdings so gut wie ausgeschlossen, dass das richtig ist!
Daher meine Anliegen:
Ich habe in allen Datensätzen 185 verschiedene Variablen und eine Variable, die in jedem Datensatz vorkommt, überall gleich heißt und den Teilnehmercode repräsentiert.
Nun möchte ich alle Datensätze so zusammenfügen, dass im neuen Datensatz sowohl alle Variablen aus allen Datensätzen vorkommen und gleichzeitig alle Fälle aus allen Datensätzen übernommen werden. Bei der Integration der Fälle soll jedoch anhand des Teilnehmercodes überprüft werden, ob dieser bereits vorhanden ist und wenn dies der Fall ist nur die entsprechenden Variablen ergänzen.
Zum besseren Verständnis:
Datensatz 1:
Teilnehmer a: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Teilnehmer b: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Teilnehmer c: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Datensatz 2:
Teilnehmer a: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Teilnehmer c: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Teilnehmer d: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Erhebung zum Zeitpunkt t3:
Teilnehmer b: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Teilnehmer d: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Teilnehmer e: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Das alles soll eingefügt werden in eine neue Datendatei, die dann so aussehen soll:
Teilnehmer a: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3= - , v2_t3= - , v3_t3= - , v4_t3= -
Teilnehmer b: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2= - , v2_t2= - , v3_t2= - , v4_t2= - , v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Teilnehmer c: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3= - , v2_t3= - , v3_t3= - , v4_t3= -
Teilnehmer d: code, v1_t1= - , v2_t1= - , v3_t1= - , v4_t1= - , v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Teilnehmer e: code, v1_t1= - , v2_t1= - , v3_t1= - , v4_t1= - ,v1_t2= - , v2_t2= - , v3_t2= - , v4_t2= - , v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Syntax-Befehle sind auch sehr Willkommen!
Ich habe jetzt jeden einzelnen Datensatz soweit aufbereitet und zusätzlich in Datensatz 1 die Variable Data_1, die für jeden Teilnehmer dieser Erhebung 1 ist, für Datensatz 2 die Variable Data_2, die für jeden Teilnehmer dieser Erhebung 1 ist usw eingefügt, um hinterher zuordnen zu können, bei welchen Erhebungen ein Teilnehmer mitgemacht hat (also z.B. 80 Teilnehmer, die an Erhebung 1 teilgenommen haben, haben auch an Erhebung 2 Teil genommen).
Nun bekomme ich Probleme beim Zusammenfassen aller einzelnen Datensätze in einen Masterdatensatz. Die Integration der Teilnehmer scheint zu funktionieren, ebenso die der Variablen. Wenn ich jetzt aber mithilfe der Data-Variablen nachvollziehen will, welche Teilnehmer der Erhebung 1 auch an 2, 3, 4 usw. teilgenommen haben, bekomme ich immer 0 raus. Aufgrund der Art der Datenerhebung ist es allerdings so gut wie ausgeschlossen, dass das richtig ist!
Daher meine Anliegen:
Ich habe in allen Datensätzen 185 verschiedene Variablen und eine Variable, die in jedem Datensatz vorkommt, überall gleich heißt und den Teilnehmercode repräsentiert.
Nun möchte ich alle Datensätze so zusammenfügen, dass im neuen Datensatz sowohl alle Variablen aus allen Datensätzen vorkommen und gleichzeitig alle Fälle aus allen Datensätzen übernommen werden. Bei der Integration der Fälle soll jedoch anhand des Teilnehmercodes überprüft werden, ob dieser bereits vorhanden ist und wenn dies der Fall ist nur die entsprechenden Variablen ergänzen.
Zum besseren Verständnis:
Datensatz 1:
Teilnehmer a: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Teilnehmer b: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Teilnehmer c: v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, code
Datensatz 2:
Teilnehmer a: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Teilnehmer c: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Teilnehmer d: v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, code
Erhebung zum Zeitpunkt t3:
Teilnehmer b: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Teilnehmer d: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Teilnehmer e: v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1, code
Das alles soll eingefügt werden in eine neue Datendatei, die dann so aussehen soll:
Teilnehmer a: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3= - , v2_t3= - , v3_t3= - , v4_t3= -
Teilnehmer b: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2= - , v2_t2= - , v3_t2= - , v4_t2= - , v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Teilnehmer c: code, v1_t1=1, v2_t1=1, v3_t1=1, v4_t1=1, v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3= - , v2_t3= - , v3_t3= - , v4_t3= -
Teilnehmer d: code, v1_t1= - , v2_t1= - , v3_t1= - , v4_t1= - , v1_t2=1, v2_t2=1, v3_t2=1, v4_t2=1, v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Teilnehmer e: code, v1_t1= - , v2_t1= - , v3_t1= - , v4_t1= - ,v1_t2= - , v2_t2= - , v3_t2= - , v4_t2= - , v1_t3=1, v2_t3=1, v3_t3=1, v4_t3=1
Syntax-Befehle sind auch sehr Willkommen!