SC5: Partner-Dummy generieren

Liebes Team des Forschungsdatenzentrum,
ich möchte eine Dummy-Variable generieren, welche den Wert 1 annimmt, wenn eine Person der SC5 im Jahr 2013 einen Partner hat. Anhand des SpPartner-Datensatzes habe ich das bisher nicht geschafft bzw. dessen Aufbau nicht wirklich verstanden.

Gibt es in Stata eine einfache Möglichkeit diesen Dummy zu erstellen bzw. gibt es eine Dokumentation wie der SpPartner-Datensatz aufgebaut ist?

Danke im Voraus

Fabian


Edit: Tags hinzugefügt

Hallo Fabian!

Danke für deine Frage. Wenn sich der Ereignisraum lediglich auf das Jahr 2013 und keine spezifische Welle bezieht und auch eine Partnerschaft als solche gilt, selbst wenn die entsprechenden Personen nicht in einem gemeinsamen Haushalt wohnen, kann man folgendermaßen vorgehen:

//globales Makro (=Platzhalter) für Datenpfad definieren:
global datapath K:/work/NEPS/Daten/SC5_9-0-0 
set more off, permanently

// einfache Variante: nur das Jahr berücksichtigen, nicht den tatsächlichen Interviewzeitraum:
use "${datapath}/SC5_spPartner_D_9-0-0.dta", clear
keep if subspell==0  // nur harmonisierte und abgeschlossene Episoden behalten

// Interviewdatum aus dem CohortProfile anspielen
merge m:1 ID_t wave using "${datapath}/SC5_CohortProfile_D_9-0-0.dta", keepusing(inty) keep(match) nogenerate
rename (tg2811y tg2811m tg2804y tg2804m tg2804b) (start_y start_m end_y end_m dauertan)   // Variablen umbenennen

// Wenn eine Episode fortgeführt wird und das Enddatum fehlt, kann man das Interviewdatum als Ende einsetzen
replace end_y=inty if missing(end_y) & dauertan==1

// Dummy bilden: Partner in 2013 (pro Episode/Spell)  
gen partner2013=((inrange(start_y,1900,2013) & inrange(end_y,2013,2100)) , start_y==2013 , end_y==2013)  

// Dummy bilden: Partner in 2013 (in irgendeinen Spell)
bysort ID_t: egen partner_2013=max(partner2013)  // es wird der höchste Wert in alle Zeilen einer Person geschrieben
sort ID_t start_y start_m  subspell
br ID_t subspell wave partner start_y end_y dauertan partner* inty

keep ID_t partner_2013  // relevante Variablen behalten
duplicates drop // überzählige Datenzeilen löschen

// Daten z.B. an pTargetCATI anspielen 
merge 1:m ID_t using "${datapath}/SC5_pTargetCATI_D_9-0-0.dta", assert(using match)
replace partner_2013=-55 if _merge==2
drop _merge

 

Episoden- bzw. Spelldatensätze unterscheiden sich in ihrer Komplexität und Struktur ganz erheblich von Querschnitts- und Panelfiles. So gibt es nicht nur eine Zeile pro Welle für jeden Befragten. Jedes berichtete Ereignis (spell), seien es auch mehrere zwischen zwei Befragungen wird erfasst und in eine Zeile abgelegt. Dauert ein Ereignis/Zustand über mehrere Wellen an, wird das Ereignis jedes Mal wieder upgedatet und erhält eine zusätzliche Zeile (=subspell > 0).

Wir empfehlen, die harmonisierte Spellzeile zu verwenden. In dieser Zeile (subspell==0) sind die Informationen über mehrere Erhebungen eines Ereignisses in eine gemeinsame Zeile verschoben.

Mehr zu Spelldaten findet man auch im Datenmanual der SC6 ab Seite 23 (das SC5-Manual kommt sehr bald, versprochen):
https://www.neps-data.de/Portals/0/NEPS/Datenzentrum/Forschungsdaten/SC6/3-0-1/SC6_3-0-1_DataManual_en.pdf

Viele Grüße.

Dietmar