Vedlikehold og utvikling
Funksjoner og syntaks
Funksjonene i qualcontrol skal i hovedsak bruke funksjoner fra pakkene data.table
og collapse
.
Bare hovedfunksjoner som inkluderes i brukerfilene skal være eksporterte objekter, mens alle andre funksjoner skal betegnes med roxygen-taggen @keywordsinternal
. Små hjelpefunksjoner som ikke trenger utdypende dokumentasjon kan også tagges med @noRd
for å ikke generere en hjelpefil.
Utvikling av funksjoner
Ved utvikling av nye funksjoner finner du nyttige koder i mappen dev
og filene dev.R
(lese inn testfiler), benchmarking.R
(sammenligne funksjoner mtp hastighet) og profiling.R
(analysere tid- og minnebruk for ulike steg i funksjonen).
Testing
For å sikre at pakken fungerer som den skal, er målet at så mye som mulig av koden skal være dekket av tester. For å teste pakken bruker du Ctrl + Shift + T
. For å sjekke hvor mye av koden som er dekket kan du bruke devtools::test_coverage()
, som genererer en rapport som blant annet viser hvor stor andel av funksjonell kode som ikke er dekket av testene. Denne fungerer ikke dersom funksjonene er lastet inn, så du må ofte restarte RStudio først.
Oppdatere interne dataobjekter
Det ligger noen tabeller og lister innebygd i qualcontrol
-pakken. Disse er lagret i filen R/sysdata.rda
. Disse objektene oppdateres med funksjonene o R/lookup-tabs.R. Da må du være i R-prosjektet for qualcontrol
, laste inn alle funksjoner (Ctrl + Shift + L). For geo-omkodingstabell og populasjonsinfo må du først oppdatere selve tabellene, da disse lagres som egne objekter i pakkedataene.
- Oppdater geoomkodingstabell
- Kjør
update_georecode(year = XXXX, overwrite = TRUE)
. Dette leser fra geodatabase-tabellene fylkeXXXX og kommuneXXXX, og lager en samlet omkodingstabell som lagres i pakkedataene.
- Kjør
- Oppdater populasjonsinformasjon
- Kjør
update_popinfo(popfile = nyeste befolkningsfil, overwrite = TRUE)
. Dette leser siste befolkningsfil, angitt med full filsti, og lager en tabell over alle GEO-koder med tilhørende befolkningstall og geonivå (L, F, K, B, V). Denne lagres i pakkedataene.
- Kjør
- Oppdater alle interne data
- Kjør
update_internal_data(geoyear = XXXX)
, der XXXX er året for gjeldende årgang. - Denne genererer filen
R/sysdata.rda
, med objekter som brukes av ulike funksjoner i pakken. Disse er:- Omkodingstabell for geokoder (se punkt 1)
- Tabell med populasjonsinformasjon (se punkt 2)
- Liste over alle valide geokoder, lest fra geodatabasen med funksjonen
update_validgeo()
- Liste over alle valide dimensjoner, lest fra ACCESS med funksjonen
update_dimlist()
- Liste over standarddimensjoner og standardverdier lest fra konfigurasjonsfilen
- Kjør
Om prosjektet
qualcontrol er en R-pakke som implementerer funksjoner brukt i kvalitetskontroll. Pakken er en videreutvikling av R-prosjektet KHvalitetskontroll som ble utviklet Vegard Lysne fra høsten 2022.
Pakken inneholder maskinelle kontroller som overtar og effektiviserer en rekke kvalitetskontrollrutiner som tidligere har vært gjort manuelt.
Brukerfiler for å gjennomføre kvalitetskontrollen ligger i produksjon/qualcontrol.