Regner ut sumskår(er) i et datasett basert på en skåringstabell. Sjekker også at alle verdiene i datasettet er i samsvar med skåringstabellen.
Arguments
- d
Dataramme/tibble som inneholder spørreskjema-variabler + eventuelt andre variabler. Spørreskjema-variablene må være numeriske.
- skaaringstabell
Dataramme/tibble som sier hvordan
dskal skåres. Må ha fire kolonner,delskala(tekst),variabel(tekst),verdi(numerisk) ogkoeffisient(numerisk), og det kan bare finnes én rad per kombinasjon avdelskala,variabelogverdi. Se detaljer nedenfor.Navn på variabler i datasettet som ikke er identiske med de standardiserte navnene i skåringstabellen. Bruk syntaksen
c(std_navn_1 = "dd_navn_1", std_navn_2 = "dd_navn_2"). Nye navn trenger kun oppgis for spørreskjema-variabler som har avvikende navn fra skåringstabellen. HvisNULL, blir det antatt at alle navnene er i samsvar med skåringstabellen.- godta_manglende
Skal manglende verdier (
NA-verdier) i spørreskjema-variablene idgodtas (som standard nei)? Hvis ikke, blir det gitt ut en feilmelding om det finnes manglende verdier. Se detaljer nedenfor.
Value
Datasett likt d, men med sumskår(er) lagt til, eventuelt
erstattet. Nye sumskår-kolonner blir i utgangspunktet lagt til på
slutten av av d, i samme rekkefølge som i skaaringstabell$delskala.
Hvis d imidlertid alt innholder en variabel med samme navn som en
delskala, blir denne denne stående der den er, men overskrevet med
nyutregnet sumskår. Det blir i så fall gitt ut en advarsel.
Details
Funksjonen regner ut vektede sumskårer ved hjelp av en skåringstabell.
Skåringstabellen sier hvordan de ulike svaralternativene skal inngå i
sumskårene. Et spørreskjema kan ha flere
sumskårer, som vi kaller delskalaer. (For eksempel kan et skjema for
livskvalitet ha én delskala for fysisk livskvalitet og én for psykisk
livskvalitet.) For hver rad i d og hver delskala i skaaringstabell
blir sumskåren delskala i d lik summen av de tallene i koeffisient
der verdi for variabelen variabel i skåringstabellen er lik
verdien av tilhørende variabel i d,
pluss et eventuelt konstantledd.
For å legge til et konstantledd for en sumskår legger man til en rad i
skaaringstabell.
I raden skal delskala være sumskåren konstantleddet skal gjelde for,
variabel og verdi begge være NA,
og koeffisient være verdien til konstantleddet.
Merk at verdi også kan være NA utenom konstantleddtilfellet.
Da blir manglende svar
(dvs. NA-verdier) for tilhørende variabel og delskala regnet som
gyldig svar og har en tilhørende koeffisient (som ikke er NA).
Dette kan være nyttig i tilfeller hvor svaralternativ som «Vet ikke»
og manglende svar begge blir kodet som NA og skal bidra til
sumskåren. Men merk at slik koding er en dårlig idé. Alle gyldige
svaralternativ bør ha eksplisitte verdier.
Hvis argumentet godta_manglende er satt til FALSE, vil en få
feilmelding dersom det finnes noen NA-verdier i datasettet som ikke
har en verdi lik NA i skåringstabellen (for alle delskalene
som variabelen inngår i).
Funksjonen gir feilmelding dersom noen av verdiene i d ikke er i
samsvar med skåringstabellen eller dersom skåringstabellen er ugyldig.
Examples
library(tibble)
d_eks = tribble(
~pas_id, ~var_a, ~var_b, ~dato,
146, 1, 2, "2020-05-15",
211, NA, 3, "2020-08-17"
)
skaaringstabell_eks = tribble(
~delskala, ~variabel, ~verdi, ~koeffisient,
"total", "var_a", 1, 5,
"total", "var_a", 2, 10,
"total", "var_a", NA, 7.5,
"total", "var_b", 1, 2,
"total", "var_b", 2, 3,
"total", "var_b", 3, 7,
"psykisk", "var_a", 1, 0,
"psykisk", "var_a", 2, 100,
"psykisk", "var_a", NA, 50
)
skaar_datasett(d_eks, skaaringstabell = skaaringstabell_eks)
#> # A tibble: 2 × 6
#> pas_id var_a var_b dato total psykisk
#> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
#> 1 146 1 2 2020-05-15 8 0
#> 2 211 NA 3 2020-08-17 14.5 50