Skip to contents

[Maturing]

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.

Usage

skaar_datasett(
  d,
  skaaringstabell,
  variabelnavn = NULL,
  godta_manglende = FALSE
)

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 d skal skåres. Må ha fire kolonner, delskala (tekst), variabel (tekst), verdi (numerisk) og koeffisient (numerisk), og det kan bare finnes én rad per kombinasjon av delskala, variabel og verdi. Se detaljer nedenfor.

variabelnavn

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. Hvis NULL, blir det antatt at alle navnene er i samsvar med skåringstabellen.

godta_manglende

Skal manglende verdier (NA-verdier) i spørreskjema-variablene i d godtas (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