Liebes NEPS Team,
ich arbeite mit der SC5 und möchte gerne wissen, ob Personen vor Beginn des Studiums eine Ausbildung abgeschlossen haben, und später, ob das einen Einfluss auf weitere Variablen hat.
Dafür habe ich den Datensatz spVocTrain genommen und ihn so aufbereitet, dass ich nur noch einen Wert pro Person habe: Berufsausbildung vor Beginn des Studiums mit den Ausprägungen „Ja“ und „Nein“.
Dafür habe ich den Datensatz zunächst gefiltert, damit nur noch Daten über berufliche Ausbildungen (mMn ts15201 <= 4) enthalten sind, die vor Oktober 2010 (Beginn des Studiums Welle 1) abgeschlossen wurden (ts1512y <= 2010 & ts1512m <= 10). Dann habe ich die Episoden jeder Person zusammengefasst - falls in irgendeiner Episode „Ja“ geantwortet wurde, hat die Person eine Ausbildung abgeschlossen, wurde „Nein“ und „NA“ geantwortet, bleibt die Antwort unbekannt, enthalten alle Episoden die Antwort „Nein“, dann wurde keine Ausbildung abgeschlossen. So zumindest meine Überlegung.
Bei dem Vorgehen bekomme ich etwas mehr als 3500 Personen, die angeben eine Ausbildung abgeschlossen zu haben, gegeben der Datensatz umfasst 17909 Personen, sind das ca. 20% - das finde ich erstmal plausibel. Nein-Antworten sind es allerdings nur knapp 230. Das heißt, der Anteil an fehlenden Angaben nach dem Zusammenfügen dieses Datensatzes mit beispielsweise Informationen aus einem CAWI-Datensatz einer anderen Welle ist ziemlich hoch. Gibt es eine geschickte Möglichkeit meiner gefilterten Variable die Information hinzuzufügen, die mir eine genauere Definition der Kategorie „Nein“ ermöglicht?
Ich hoffe, ich habe mich verständlich ausgedrückt.
Hier zur Nachvollziehbarkeit noch mein R-Code für die beschriebene Filterung:
spvoc_pr <- haven::read_sav("Data_SC5_D_18-0-0/SC5_spVocTrain_D_18-0-0.sav") %>%
dplyr::select(ID_t, wave, spell, subspell, tx20100, # linkage
ts15201, # type of voc
ts1512m, # end year voc
ts1512y, # end month voc
ts15218) %>% # finished
dplyr::filter(subspell == 0 & tx20100 == 1
& ts15201 <= 4
& ts1512y <= 2010 & ts1512m <= 10) %>%
# keep full / harmonized episodes & completion before WT 2010
dplyr::group_by(ID_t) %>%
dplyr::summarise(ts15218 = case_when(any(ts15218 == 1) ~ 1,
any(ts15218 == 2)
& any(is.na(ts15218)) ~ as.numeric(NA),
all(ts15218 == 2) ~ 2))
# summarize the data per person across spells
# 1 = yes, 2 = no
Vielen Dank für die Hilfe und die tolle Unterstützung hier im Forum allgemein.
Herzliche Grüße,
David