Mergen SC4

Hallo,

ich möchte für meine Fragestellung wie sich der Berufswunsch (t31160a_g4) darauf auswirkt, dass das Kind in eine handwerkliche Ausbildung (ts15291_g4) einsteigt vier Datensätze in der SC4 mergen: CProfil, spVocTrain, pParent und pTarget. Mich interessiert daher die Schulabgänger:innen ab Klasse 9 (Welle 4), 10, 11, 12 und 13. Im Analyseteil möchte ich nämlich nach Berücksichtung weiterer Prädiktoren (Schulform, Geschlecht, Kenntnisse über Berufsfeld etc.) eine Ereignisdatenanalyse durchführen. Nun bin ich mir aber mit meinem Merging-Prozess unsicher, da bei einigen Variablen irrsinnig hohe Missings auftreten. Kommt das durch cProfil? Anbei schicke ich mal meine Syntax. Ich bin sehr dankbar, wenn jemand von euch mal drüberschauen könnte. : ) Dankeschön!

Viele Grüße,
Johannes

* SCHRITT 1: Basis-Datensatz (CohortProfile) vorbereiten

use „G:\\Meine Ablage\\Masterarbeit\\SC4_CohortProfile_D_15-0-0.dta“, clear
* Datensatz kennenlernen \*

desc //Überblick zu enthaltenen Variablen
tab wave tx80220 //Häufigkeitsverteilung für die Befragungswelle
tab1 wave cohort tx8600m tx80501 tx80220 tx80521 tx80523 tx80106 t723080_g1 //Befragungswelle, Geschlecht, Teilnehmende, Daten verfügbar ZP/Eltern/ Schulform
browse ID_t wave cohort tx80501 tx80220 tx80521 tx80523 tx80106 t723080_g1 tx8600m //Datenmatrix wird für ausgewählte Variablen angezeigt
keep ID_t wave cohort tx80501 tx80220 tx80521 tx80523 tx80106 t723080_g1 tx8600m //im Datensatz werden nur die genannten Variablen behalten
duplicates report ID_t wave    // Kontrolle: sollte 0 Duplikate zeigen
desc //Überblick-Check: keep-Befehl hat funktioniert
save „G:\\Meine Ablage\\Masterarbeit\\CProfil4.dta“, replace  /// reduzierter Datensatz

* MERGE 1: CProfil4 + spVocTrain
* Schritt 1a: spVocTrain-Datensatz aufrufen und Duplikate bereinigen \*
  use ID_t wave ts15291_g4 using „G:\\Meine Ablage\\Masterarbeit\\SC4_spVocTrain_D_15-0-0.dta“, clear
  duplicates report ID_t wave    // Duplikate vor Bereinigung anzeigen
  bysort ID_t wave: keep if \_n==1  // Nur erste Beobachtung pro ID_t wave behalten
  duplicates report ID_t wave    // Kontrolle: sollte 0 Duplikate zeigen
  tempfile spVocTrain
  save \`spVocTrain’, replace
  browse ID_t wave ts15291_g4 //Dateninspektion im Using-Datensatz

* Schritt 1b: Merge durchführen \*
  use „G:\\Meine Ablage\\Masterarbeit\\CProfil4.dta“, clearVorformatierter Text
  merge 1:m ID_t wave using \`spVocTrain’, keepusing(ts15291_g4)
  tab \_merge  // Merge-Ergebnis anzeigen
  keep if \_merge!=2
  drop \_merge
  save „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain4.dta“, replace
* MERGE 2: CProfil_spVocTrain4 + pTarget
* Schritt 2a: pTarget-Datensatz aufrufen und vorbereiten \*
  use ID_t wave tf0021b_g4 t31160a_g4 te11010_g4 tf00050 te11020 te08010_g4 tf00200 tf0029b_g4 tf00260_g4 tf0023a tf0023b tf0023c tf0023d tf0023e tf0023f tf0023g tf0023h using „G:\\Meine Ablage\\Masterarbeit\\SC4_pTarget_D_15-0-0.dta“ , clear
  duplicates report ID_t wave    // Duplikate prüfen
  desc
  tab1 tf0021b_g4  t31160a_g4 te11010_g4 tf00050 te11020 te08010_g4 tf00200 tf0029b_g4 tf00260_g4 tf0023a tf0023b tf0023c tf0023d tf0023e tf0023f tf0023g tf0023h
  tempfile pTarget
  save \`pTarget’, replace	
  browse ID_t wave tf0021b_g4  t31160a_g4 te11010_g4 tf00050 te11020 te08010_g4 tf00200 tf0029b_g4 tf00260_g4 tf0023a tf0023b tf0023c tf0023d tf0023e tf0023f tf0023g tf0023h

* Schritt 2b: Merge durchführen \*
  use „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain4.dta“, clear
  merge 1:1 ID_t wave using „\`pTarget’“, keepusing (tf0021b_g4  t31160a_g4 te11010_g4 tf00050 te11020 te08010_g4 tf00200 tf0029b_g4 tf00260_g4 tf0023a tf0023b tf0023c tf0023d tf0023e tf0023f tf0023g tf0023h )
  tab \_merge  // Merge-Ergebnis anzeigen
  keep if \_merge!=2
  drop \_merge
  save „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain_ptarget4.dta“, replace
* MERGE 3: CProfil_spVocTrain_ptarget4 + pParent

* Schritt 3a: pParent-Datensatz aufrufen und vorbereiten \*
  use ID_t wave p731813 p731904_g4 p731802 p731812 p731863 p731954_g4 p731954_g5 p731904_g5 p731904_g14 p731954_g14 p731802_g2 using „G:\\Meine Ablage\\Masterarbeit\\SC4_pParent_D_15-0-0.dta“ , clear
  duplicates report ID_t wave    // Duplikate prüfen
  keep ID_t wave p731813 p731904_g4 p731802 p731812 p731863 p731954_g4 p731904_g5 p731954_g5 p731904_g14 p731954_g14 p731802_g2
  desc
  tempfile pParent
  save \`pParent’, replace	
  browse ID_t wave p731813 p731904_g4 p731802 p731812 p731863 p731954_g4 p731954_g5 p731904_g5 p731904_g14 p731954_g14 p731802_g2

* Schritt 3b: Merge durchführen \*
  use „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain_ptarget4.dta“, clear
  merge 1:1 ID_t wave using „\`pParent’“, keepusing (p731813 p731904_g4 p731802 p731812 p731863 p731954_g4 p731954_g5 p731904_g5 p731904_g14 p731954_g14 p731802_g2)
  tab \_merge  // Merge-Ergebnis anzeigen
  keep if \_merge!=2
  drop \_merge
  save „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain_ptarget_pparent4.dta“, replace

* MERGE 4: CProfil_spVocTrain_ptarget_pparent4 + pTargetCATI

* Schritt 4a: pTargetCATI-Datensatz aufrufen und vorbereiten \*
  use ID_t wave t30250c tf40128_g4  tf40180 t31450a tf40138_g4 tf13306_g4 t292411 t292412 using „G:\\Meine Ablage\\Masterarbeit\\SC4_pTargetCATI_D_15-0-0.dta“, clear
  duplicates report ID_t wave    // Duplikate prüfen
  keep ID_t wave t30250c tf40128_g4 tf40180 t31450a tf40138_g4 tf13306_g4 t292411 t292412
  tempfile pTargetCATI
  save \`pTargetCATI’, replace
  browse ID_t wave t30250c tf40128_g4 tf40180 t31450a tf40138_g4 tf13306_g4 t292411 t292412

* Schritt 4b: Merge durchführen \*
  use „G:\\Meine Ablage\\Masterarbeit\\CProfil_spVocTrain_ptarget_pparent4.dta“, clear
  merge 1:1 ID_t wave using \`pTargetCATI’, keepusing(t30250c tf40128_g4 tf40180 t31450a tf40138_g4 tf13306_g4 t292411 t292412)
  tab \_merge  // Merge-Ergebnis anzeigen
  keep if \_merge!=2
  drop \_merge
save „G:\\Meine Ablage\\Masterarbeit\\Analysedatensatz.dta“, replace
desc

Hallo Johannes!

Du kannst Spelldatensätze (z.B. spVocTrain) an pTarget-Daten nicht einfach anspielen, indem du den ersten Spell pro ID und Welle behältst. Der Wellenindikator sagt nur, wann die Episoden erhoben wurden und nicht wann sie stattfanden. Du musst ein Monatssplitting des Spelldatensatzes machen und dann mit Interviewdatum und Start/Enddatum der Episoden die Daten mergen. Das ist aufwändig und erfordert leider viel Zeit. Schaue dir die Tutorial-Videos Merging Basics und Merging Checkliste auf unserer Website an: https://www.neps-data.de/Datenzentrum/Übersichten-und-Hilfen/NEPS-Tutorials

Es gibt auch hier schon einige Beispiele zum Monatssplitting.

VG
Dietmar

Alles klar. Dankeschön. Ich glaube das überteigt meine Kompetenzen und ich traue mich da nicht dran, das für die Masterarbeit so umzusetzen… Ich habe nun überlegt, die Variable tf0021b_g4 (Ob schon eine Zusage zu einer Ausbildungsstelle vorliegt) aus pTarget als AV zu nehmen und diese binär zu codieren in 0 Andere Berufe und 1 Handwerksberufe. Damit könnte ich dann auch eine Ereignisdatenanalyse durchführen. Dann würde ich das Problem mit den spellDaten umschiffen und hätte trotzdem einen Indikator, ob es einen Übergang in eine Ausbildung gibt. Dann sagt mir doch der Wellenindikator, wann sozusagen eine Zusage zu einer Ausbildung vorliegt, oder widerspricht das ebenfalls dieser Logik?
VG
Johannes

1 „Gefällt mir“

Hallo Johannes!

Es ist gut, wenn man seine eigenen Grenzen kennt und sich nicht verzettelt! Falls du eine wissenschaftliche Karriere anstrebst, kannst du dich später noch immer an solchen Problemen abarbeiten.

Im pTarget-Datensatz bezieht sich wave natürlich auch auf das Erhebungsdatum, aber sofern es keine explizit retrospektiv erhobene Information ist, kann man wave mit dem Ereignisdatum gleichsetzen. Hier kann man wave wohl auch als Ereignisdatum betrachten.

Viel Glück und viele Grüße
Dietmar