English (United States) Deutsch (Deutschland)

    Merge von Biographiedaten mit CohortProfile

    Liebes NEPS Forum,

    ich versuche die Variable tx80234 des Datensatzes CohortProfile an mein Masterfile "Biography" zu mergen. Ich möchte wissen, in welcher Schulepisode die Befragten sich in welcher Klassenstufe befinden und möchte hierzu u.a. auf die Variable aus CohortProfile zurückgreifen. Leider scheint mir ein Fehler beim mergen zu unterlaufen, da ich ziemlich viele Fälle verliere. 

    neps: use Biography  // Biography laden
    
    nepsmiss _all
    
    * Check and adjust data variables
    fre starty endy startm endm
    egen missy = rowmiss(starty endy)
    egen missm = rowmiss(startm endm)
    fre missy
    
    * Drop spells with missing date information
    drop if missy>0 | missm>0
    drop missy missm
    
    *Generate a new starting and ending variable (time format: yearmonth)
    gen start = ym(starty,startm)
    gen end = ym(endy,endm)
    format start end %tm
    lab var start "Monthly starting date (months since Jan 1960)"
    lab var end "Monthly ending date (months since Jan 1960)"
    
    *Generate and check the duration of each spell 
    gen dur = end-start+1
    sum dur, detail // no negative values or 0 durations
    
    *Drop unnecessary variables
    drop splast-endy
    
    *Count number of episodes by person
    sort ID_t start end 
    by ID_t: gen epinr = [_n]
    lab var epinr "Episode number"
    fre epinr // up to 62 episodes per person
    
    sort ID_t epinr
    
    *** CohortProfile
    global cohortvars tx80234
    preserve
    	clear
    	neps: use ID_t wave ${cohortvars} using "CohortProfile" 
    	tempfile cohort_tmp // tempfile  definieren
    	save "`cohort_tmp'", replace 
    restore
    //als m:1-merge mit ID_t wave anspielen
    merge m:1 ID_t wave using "`cohort_tmp'", /// 
    	keepusing(${cohortvars}) nogenerate
    
    nepsmiss tx80234
    
    sort ID_t epinr

     

    gefragt vor 3 Monat(en)
    Robin21
    Robin

    comments

    1 Antwort

    Hi Robin!

    ohne jetzt deine Syntax ausprobiert zu  haben zwei Tips:

    a) in Biography gibt es Zeilen, bei denen die Wellenvariable "wave" missing ist (-55 nicht ermittelbar). Sind das vielleicht deine Mismatches?

    b) vielleicht hilft es dir, deinen merge Befehl etwas zu entschlacken:

    *** CohortProfile
    global cohortvars ID_t wave tx80234
    neps: merge m:1 ID_t wave using "CohortProfile", keepusing(${cohortvars}) nogenerate
    
    nepsmiss tx80234
    
    sort ID_t epinr

    Kommst du so weiter?

    Alles Gute,

    Tobias

    beantwortet vor 2 Monat(en) Tobias Koberg 215
    Tobias Koberg

    Ihre Antwort

    Um Beiträge zu erstellen, müssen Sie eingeloggt sein. Hier geht es zum Login

    Ich melde diesen Beitrag,..




    10 Moderator über verbleibende Meldungen informieren

    Ich lösche diesen Beitrag,...




    Ich melde diese Antwort,...




    10 Moderator über verbleibende Meldungen informieren

    Melden eines Beitrags

    Sie haben diesen Beitrag bereits gemeldet. Wenn Sie auf 'Meldung entfernen' klicken, wird die Anzahl der Meldungen für diesen Beitrag um eins verringert.

    Ich lösche diese Antwort, weil...