The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
staat1cho berekent vier studie-indicatoren per
instroomcohort op basis van de 1CHO-aanlevering van DUO:
De functies werken in vaste volgorde. Elke stap bouwt voort op de vorige.
maak_basisbestand()
└── maak_instroom_cohort() ──┐
└── maak_diploma_behaald() ──┼── bereken_rendement() ──┐
├── bereken_uitval() ──┼── combineer_indicatoren()
└── bereken_studiewissel() ──┘
In productie begint de pipeline met maak_basisbestand(),
die het 1CHO CSV-bestand inleest. Hier bouwen we een minibestand
handmatig om de stappen te laten zien.
library(tibble)
## Drie studenten, twee cohortjaren
## S1: behaalt diploma in 2022 (binnen 3 jaar na instroom 2020)
## S2: valt uit na 1 jaar (verschijnt alleen in 2020)
## S3: wisselt opleiding na 1 jaar (andere opleidingscode in 2021)
hoofd <- "hoofdinschrijving binnen het domein actuele instelling"
bachelor_diploma <- "Hoofd-bachelor-diploma binnen de actuele instelling"
basisbestand <- tibble(
persoonsgebonden_nummer = c("S1", "S1", "S2", "S3", "S3"),
inschrijvingsjaar = c(2020L, 2021L, 2020L, 2020L, 2021L),
verblijfsjaar_actuele_instelling = c(1L, 2L, 1L, 1L, 2L),
soort_hoger_onderwijs = "hbo",
soort_inschrijving_actuele_instelling = hoofd,
soort_inschrijving_actuele_instelling_label = hoofd,
diplomajaar = c(NA_integer_, 2022L, NA_integer_, NA_integer_, NA_integer_),
soort_diploma_instelling = c(NA, bachelor_diploma, NA, NA, NA),
soort_diploma_instelling_label = c(NA, bachelor_diploma, NA, NA, NA),
geslacht_label = "man",
opleidingsvorm = "voltijd",
opleidingsvorm_label = "voltijd",
indicatie_internationale_student_label = "geen internationale student",
indicatie_eer_actueel_label = "geen EER-student",
croho_onderdeel_actuele_opleiding = "techniek",
croho_onderdeel_actuele_opleiding_label = "techniek",
opleiding_actueel_equivalent = c("34401", "34401", "34401", "34401", "39999"),
type_hoger_onderwijs_binnen_soort_hoger_onderwijs = "ba",
leeftijd_per_peildatum_1_oktober = 19L,
postcodecijfers_student_op_1_oktober = "4818",
postcodecijfers_van_de_hoogste_vooropl_voor_het_ho = "4818",
locatie_label = "Breda"
)maak_instroom_cohort() filtert op nieuwe
eerstejaarsstudenten. Studenten die al eerder waren ingeschreven
(verblijfsjaar > 1) vallen af.
cohorten <- maak_instroom_cohort(basisbestand, soort_ho = "hbo")
cohorten[, c("persoonsgebonden_nummer", "inschrijvingsjaar", "eerstejaar_instelling")]
#> # A tibble: 3 × 3
#> persoonsgebonden_nummer inschrijvingsjaar eerstejaar_instelling
#> <chr> <int> <int>
#> 1 S1 2020 2020
#> 2 S2 2020 2020
#> 3 S3 2020 2020maak_diploma_behaald() zoekt het vroegste diploma per
student.
diploma <- maak_diploma_behaald(basisbestand)
diploma
#> # A tibble: 1 × 4
#> persoonsgebonden_nummer jaar_eerste_diploma verblijfsjaar_eerste_dip…¹ diploma
#> <chr> <int> <int> <chr>
#> 1 S1 2022 2 Diplom…
#> # ℹ abbreviated name: ¹verblijfsjaar_eerste_diplomaS1 heeft een diploma in 2022, S2 en S3 niet.
bereken_rendement() berekent of een student binnen 3, 5
of 8 jaar een diploma heeft behaald.
rendement <- bereken_rendement(cohorten, diploma)
rendement[, c("persoonsgebonden_nummer", "rendement_3jr", "rendement_5jr", "rendement_8jr")]
#> # A tibble: 3 × 4
#> persoonsgebonden_nummer rendement_3jr rendement_5jr rendement_8jr
#> <chr> <fct> <fct> <fct>
#> 1 S1 Diploma binnen 3 jaar Diploma binnen 5 … Diploma binn…
#> 2 S2 Geen diploma Geen diploma Geen diploma
#> 3 S3 Geen diploma Geen diploma Geen diplomabereken_uitval() bepaalt de status van elke student:
diploma behaald, zittend, of uitgevallen.
## peiljaar = het jaar na het laatste jaar in de data
uitval <- bereken_uitval(basisbestand, diploma, cohorten, jaar = 2023L)
uitval[, c("persoonsgebonden_nummer", "status", "uitval_1jr", "uitval_3jr")]
#> # A tibble: 3 × 4
#> persoonsgebonden_nummer status uitval_1jr uitval_3jr
#> <chr> <fct> <fct> <fct>
#> 1 S1 Diploma behaald Na 1 jaar nog ingeschreven… Na 3 jaar…
#> 2 S2 Uitgevallen Uitgevallen binnen 1 jaar Uitgevall…
#> 3 S3 Uitgevallen Na 1 jaar nog ingeschreven… Uitgevall…bereken_studiewissel() detecteert of een student binnen
1 of 3 jaar van opleiding is gewisseld.
wissel <- bereken_studiewissel(basisbestand, cohorten, diploma, uitval)
wissel[, c("persoonsgebonden_nummer", "studiewissel_1jr", "studiewissel_3jr")]
#> # A tibble: 3 × 3
#> persoonsgebonden_nummer studiewissel_1jr studiewissel_3jr
#> <chr> <fct> <fct>
#> 1 S1 Niet gewisseld binnen 1 jaar Geen switch bepaald
#> 2 S2 Geen switch bepaald Geen switch bepaald
#> 3 S3 Gewisseld binnen 1 jaar Geen switch bepaaldcombineer_indicatoren() voegt alle stappen samen tot één
analysebestand.
indicatoren <- combineer_indicatoren(cohorten, rendement, uitval, wissel)
indicatoren[, c("inschrijvingsjaar", "opleidingscode", "status", "rendement", "uitval", "studiewissel")]
#> # A tibble: 3 × 6
#> inschrijvingsjaar opleidingscode status rendement uitval studiewissel
#> <int> <fct> <fct> <chr> <chr> <chr>
#> 1 2020 34401 Diploma behaald Diploma … Niet … Niet gewiss…
#> 2 2020 34401 Uitgevallen Geen dip… Uitge… Niet gewiss…
#> 3 2020 34401 Uitgevallen Geen dip… Uitge… Gewisseld b…Voor interactieve verkenning van de data kun je het dashboard starten:
Het dashboard vraagt om een 1CHO CSV-bestand en berekent automatisch alle indicatoren. Vanuit het dashboard kun je filteren op jaar, locatie, sector en opleiding, en de gefilterde data downloaden als CSV.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.