Closed SBorsboom closed 1 month ago
Bedankt voor het melden.
Wat er gebeurd is dat het niet lukt om het regiobestand in te lezen met de functie read_spss()
hierdoor kan het dataframe voor de regio vervolgens niet gelezen worden. Het zou kunnen dat dit ligt aan het feit dat de verwijzing naar het SPSS-bestand niet goed gaat.
In quarto codeblokjes kan je (net als in standaard R) code ook per regel draaien. Dit doe je door ergens op een regel te klikken en dan CTRL+ENTER te drukken. Om te controleren of het aan de verwijzing naar het SPSS bestand ligt kan je het volgende doen.
1) voeg deze code bovenaan het codeblobk instellingen toe:
print(params$path_monitor_data_2022) #De map waar het databestand moet staan print(params$naam_monitor_data_2022_regionaal) #De naam van het databestand (incl. '.sav')
print(paste0(params$path_monitor_data_2022, params$naam_monitor_data_2022_regionaal)) #De volledige verwijzing naar > het bestand
2) Draai deze code per regel met CTRL+ENTER en controleer de uitvoer in de console. Misschien zie je hier al wat er fout gaat & kan je de parameters daarop aanpassen. Let ook goed op of er een slash "/" tussen de map en de bestandnaam staan.
3) Voeg onderstaande code toe. Draai de regels met alle libraries erin en draai vervolgens onderstaande code:
read_spss(paste0(params$path_monitor_data_2022, params$naam_monitor_data_2022_regionaal), user_na =T)
Ik ben benieuwd of dat lukt. Mogelijk krijg je een error dat het bestand niet bestaat. Dan weet heb je de oorzaak! Als je een andere melding krijgt hoor ik het graag!
Dank voor de snelle reactie. Ik heb de eerste drie regels toegevoegd en krijg dan niet bijzonders te zien:
print(params$path_monitor_data_2022) #De map waar het databestand moet staan [1] "M:/Beleidsadvies en Onderzoek/Vertrouwelijk/Kwantitatief onderzoek/Gezondheidsmonitoren/monitor Jongvolwassenen/2022/Data/" print(params$naam_monitor_data_2022_regionaal) #De naam van het databestand (incl. '.sav') [1] "Trendbestand CGMJV2022 met indicatoren GMJV2024.sav" print(paste0(params$path_monitor_data_2022, params$naam_monitor_data_2022_regionaal)) #De volledige verwijzing naar > het bestand [1] "M:/Beleidsadvies en Onderzoek/Vertrouwelijk/Kwantitatief onderzoek/Gezondheidsmonitoren/monitor Jongvolwassenen/2022/Data/Trendbestand CGMJV2022 met indicatoren GMJV2024.sav"
Daarna de libraries gerund en de laatste extra regel. Dan zie ik het volgende:
read_spss(paste0(params$path_monitor_data_2022, params$naam_monitor_data_2022_regionaal), user_na =T)
A tibble: 2,019 × 354
AGOJB401 Respondentnummer Standaardisatiefactor_regio Stratum_regio AGLFB401 AGGSB401 AGGIB401 AGGIB403 AGGIB404
1 2022 10000012 20.6 20 2 [17 jaar] 2 [Vrouw] 8031 0 (NA) [Onb… 0 (NA) [On… 2 2022 10000013 20.6 20 1 [16 jaar] 2 [Vrouw] 8261 0 (NA) [Onb… 0 (NA) [On… 3 2022 10000014 24.3 22 5 [20 jaar] 2 [Vrouw] 8043 0 (NA) [Onb… 0 (NA) [On… 4 2022 10000041 34.0 19 1 [16 jaar] 1 [Man] 8023 0 (NA) [Onb… 0 (NA) [On… 5 2022 10000044 29.5 24 9 [24 jaar] 2 [Vrouw] 7416 0 (NA) [Onb… 0 (NA) [On… 6 2022 10000086 50.0 21 4 [19 jaar] 1 [Man] 8043 0 (NA) [Onb… 0 (NA) [On… 7 2022 10000103 29.5 24 7 [22 jaar] 2 [Vrouw] 7701 0 (NA) [Onb… 0 (NA) [On… 8 2022 10000148 24.3 22 4 [19 jaar] 2 [Vrouw] 8266 0 (NA) [Onb… 0 (NA) [On… 9 2022 10000155 29.5 24 7 [22 jaar] 2 [Vrouw] 7731 0 (NA) [Onb… 0 (NA) [On… 10 2022 10000203 29.5 24 10 [25 jaar] 2 [Vrouw] 8019 0 (NA) [Onb… 0 (NA) [On… # ℹ 2,009 more rows # ℹ 345 more variables: AGETB401 , AGETB401a , AGETB402 , AGETB402a , AGETB403 , # AGETB403a , AGOWB401 , AGOWB402 , AGOWB403 , AGWSB401 , AGWSB402 , # AGWSB403 , AGWSB404 , AGWSB405 , AGWSB406 , AGHHB401 , AGHHB402 , # FIIKB401 , FIIKB402 , FIIKB403 , GZGGB401 , LVTEB401 , LVTEB402 , # LVTEB403 , LVPKB401 , LVPKB402 , LVPKB403 , LVPKB404 , LVPKB405 , # LVPKB406 , LVSTB401 , LVSTB402 , LVSTB403 , LVSTB404 , LVSTB405 , … # ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names
Dat leek me allemaal goed, maar wanneer ik het hele blok run, krijg ik als eerste foutmelding:
Error in rename()
:
! Can't rename columns that don't exist.
✖ Column Standaardisatiefactor
doesn't exist.
Run rlang::last_trace()
to see where the error occurred.
Komt dat omdat in het trendbestand al een rename is gedaan voor de standaardisatiefactor? Moet ik daar een stukje weghalen?
Verder krijg ik verderop weer de error:
Error: object 'df_regio' not found
Je hebt gelijk. Het script probeert een variabele te renamen die niet meer bestaat. Als het goed is trekt de syntax alles gelijk en is de functie rename()
dus niet meer nodig. We gaan dit nakijken & zullen dat morgen bevestigen + aanpassen in het script.
Bedankt voor het melden en vinden van het probleem :)
Dat wacht ik dan even af, Hopelijk is dat dan ook de oplossing voor de andere error.
Bij deze bevestigd :) Je kan de regel met rename() inderdaad gewoon verkorten. Invulduur zou nog wel renamed moeten worden (omdat die nog niet in de trendsyntax is verwerkt). Dus dan wordt het:
df_regio <- haven::read_spss(paste0(params$path_monitor_data_2022, params$naam_monitor_data_2022_regionaal), user_na =T) %>% rename(Invulduur = duur) %>% labelled::user_na_to_na()
We kunnen de voorbeeld rapportage uitdraaien met het "gewone 'databestand van 2022. We hebben daarna de trendsyntaxen gerund op het regionale bestand van 2022 en proberen dat in te lezen, dan krijgen we de volgende melding:
Als we alleen het blok vanaf: {r Instellingen} runnen , krijgen we een aantal foutmeldingen:
Wij hebben zelf niet echt een idee hoe we dit kunnen oplossen