ggdatascience / rapportage_monitor_gmj

Script om school- en gemeenterapportages voor de Gezondheidsmonitor Jeugd te maken in PowerPoint op basis van een configuratiebestand in Excel.
1 stars 2 forks source link

Error in vctrs_vec_compat #7

Closed ggdgrojvk closed 8 months ago

ggdgrojvk commented 9 months ago

Pre-warning: Wij draaien een verouderde versie van R-studio (2021.09.2).

Omstandigheden: Volledig stock script + configuratie + proefdata uit de Github. (enige aanpassing is absolute paden ipv relatieve paden)

Omschrijving: Het script crasht op onderdelen 8 en 9 (volledige omschrijving hieronder) en geeft foutmeldingen eerder in het runnen van de scripting.

Non-crash Foutmeldingen:

> data <- data %>%
+   mutate(schoolcode = labelled(sample(x = c(23001, 23002, 23003, 23004, 23005), size = nrow(data), replace = T),
+                                c('School 1' = 23001, 'School 2' = 23002, 'School 3' = 23003, 'School 4' = 23004, 'School 5' = 23005))) %>%
+   mutate(RAPPORT = to_character(schoolcode),
+          KLAS = ifelse(KLAS == 0, NA, KLAS) %>% labelled(c('KLAS 2' = 1, 'KLAS 4' = 2)),
+          GENDER = ifelse(GENDER == 9, NA, KLAS) %>% labelled(c('Jongen' = 1, 'Meisje' = 2)),
+          MBOKK3S31 = ifelse(MBOKK3S31 == 8 | MBOKK3S31 == 9, NA, MBOKK3S31) %>% labelled(c('Vmbo' = 1, 'Havo/Vwo' = 2)))
Error in `mutate()`:
i In argument: `KLAS = ifelse(KLAS == 0, NA, KLAS) %>% labelled(c(`KLAS 2` = 1, `KLAS 4` = 2))`.
Caused by error in `ifelse()`:
! object 'KLAS' not found
Run `rlang::last_trace()` to see where the error occurred.
> 
> # 2. Excelbestand met configuratie laden 
> rapportconfiguratie <- readxl::read_xlsx("I:/GGD/Advies en Beleid/Geclassificeerd/Vertrouwelijk/EPI vertrouwelijk/MON JGZ/2023/Rapportage/scripting/beta/1. Configuratie.xlsx", sheet = 'Rapportconfiguratie')
> slideconfiguratie <- readxl::read_xlsx("I:/GGD/Advies en Beleid/Geclassificeerd/Vertrouwelijk/EPI vertrouwelijk/MON JGZ/2023/Rapportage/scripting/beta/1. Configuratie.xlsx", sheet = 'Slideconfiguratie 1') %>%
+   # slice(1:19) %>%
+   # filter(werkt == 1) %>%
+   select(-vraag, -werkt, -Opmerkingen_tijdelijk) %>%
+   mutate(across(c(indicator, labels, niveau), ~ .x %>% str_split('; ')))
Error in `select()`:
! Can't subset columns that don't exist.
x Column `werkt` doesn't exist.
Run `rlang::last_trace()` to see where the error occurred.
> # bereken_cijfers functie testen
> bereken_cijfers(data, 'School 1', 'SBOSK3S4', waarden = c(1,2), omschrijving = 'Schoolbeleving', uitsplitsing = 'GENDER', groepering = 'KLAS', toetsen = F)
Error in `filter()`:
i In argument: `RAPPORT == rapportnaam`.
Caused by error:
! object 'RAPPORT' not found
Run `rlang::last_trace()` to see where the error occurred.
Called from: signal_abort(cnd, .file)
> # type_grafiek() functie testen
> bereken_cijfers(data, 'School 1', 'SBOSK3S4', omschrijving = 'Schoolbeleving', uitsplitsing = 'GENDER', groepering = 'KLAS') %>%
+   print(preview = T)
Error in `filter()`:
i In argument: `RAPPORT == rapportnaam`.
Caused by error:
! object 'RAPPORT' not found
Run `rlang::last_trace()` to see where the error occurred.
Called from: signal_abort(cnd, .file)

Crashmeldingen:

> # 8. Rapportage maken via functie -----------------------------------------
> 
> rapportage_maken(template = 'I:/GGD/Advies en Beleid/Geclassificeerd/Vertrouwelijk/EPI vertrouwelijk/MON JGZ/2023/Rapportage/scripting/beta/template.pptx',
+                  slideconfiguratie = slideconfiguratie,
+                  data = data,
+                  rapportnaam = 'School 1')
Error in vctrs_vec_compat(x, user_env) : 
  object 'slideconfiguratie' not found
Called from: vctrs_vec_compat(x, user_env)
> # 9. Rapportages maken op basis van rapportconfiguratie -------------------
> 
> sapply(X = rapportconfiguratie$rapport, FUN = rapportage_maken, template = 'I:/GGD/Advies en Beleid/Geclassificeerd/Vertrouwelijk/EPI vertrouwelijk/MON JGZ/2023/Rapportage/scripting/beta/template.pptx',
+        slideconfiguratie = slideconfiguratie, data = data)
list()
Warning message:
Unknown or uninitialised column: `rapport`. 
stijnimaging commented 9 months ago

Er is inmiddels een nieuwe versie van het script en binnenkort (deze week) een laatste versie. Als ik het zo zie lijkt het dat een aantal variabelen voor de functies er niet goed inzitten. Zorg dat je het script stap voor stap doorloopt. Zo is de slideconfiguratie nodig om de rapportage te kunnen maken. Het lijkt erop dat deze configuratie niet in de environment zit, waardoor er een foutmelding ontstaat.

ggdgrojvk commented 9 months ago

Check, dank voor de feedback.

Ik zal de github in de gaten houden voor de nieuwe versie.

STVermeulen commented 8 months ago

Ik sluit dit issue af, mocht deze error in de nieuwste versie nog terugkomen dan hoor ik het graag.