Legg til verdietiketter fra KLASS
add_value_labels.RdLegger til verdietiketter på variabler i et datasett basert på klassifikasjoner registrert i DataDoc eller Vardef.
Arguments
- data
Et datasett, for eksempel en
data.frameeller tibble, som skal få lagt til verdietiketter.- filsti
En tekststreng med filsti til DataDoc-filen eller den tilhørende datafilen.
- language
En tekststreng som angir språk som skal brukes ved henting av metadata. Standard er
"nb".- quiet
Logisk verdi. Dersom
TRUE, undertrykkes alle advarsler som oppstår under kjøringen. Standard erFALSE.
Value
Datasettet data med verdietiketter lagt til for variabler
der en gyldig klassifikasjon ble funnet. Variabler kan bli
konvertert til character dersom de opprinnelig har en annen
datatype enn kodene fra KLASS.
Details
For hver variabel hentes KLASS-ID fra DataDoc dersom denne finnes. Dersom KLASS-ID ikke er registrert i DataDoc, brukes eventuell klassifikasjon fra Vardef. KLASS-ID fra DataDoc har dermed forrang.
Kodelisten hentes fra KLASS ved hjelp av
klassR::get_klass(). Dersom contains_data_until er registrert
i DataDoc, brukes denne datoen ved henting av kodelisten.
Variabler som ikke finnes i data, som mangler en gyldig KLASS-ID,
eller der kodelisten ikke kan hentes, hoppes over med en advarsel.
Kodene fra KLASS behandles som tekst. Dersom en variabel i data
ikke er av typen character, konverteres den til character før
verdietikettene legges til. Dette gir som standard en advarsel.
Ved å sette quiet = TRUE undertrykkes alle advarsler som oppstår
under kjøringen av funksjonen. Feil (error) undertrykkes ikke.
Funksjonen bruker variables_with_classification_uri() til å finne
variabler med tilknyttede klassifikasjoner.
Dersom både DataDoc og Vardef inneholder en klassifikasjon for samme variabel, brukes klassifikasjonen fra DataDoc.
Verdietikettene legges til med labelled::set_value_labels(), der
navnene fra KLASS brukes som etiketter og kodene som underliggende
verdier.