Skip to contents

[Stable]

Lagar ein funksjon som kan brukast til å anonymisera verdiane i ein vektor ved å byta dei ut med tilfeldige tal. Funksjonen ein får ut, er deterministisk, dvs. han gjev alltid ut same utverdi («tilfeldige» tal) for same innverdi.

Usage

lag_anonymiseringsfunksjon(x, startnr = 1001)

Arguments

x

Vektor (av valfri type/klasse) med verdiar som skal anonymiserast.

startnr

Minste verdi for dei tilfeldige tala som skal genererast.

Value

Funksjon som tar inn ein vektor med verdiar (som alle må inngå i x) og gjev ut ein heiltalsvektor med tilsvarande anonymiserte verdiar. Han gjev ut feilmelding viss ein prøver å bruka han på «ukjende» verdiar.

Details

Denne funksjonen er meint å brukast når ein har verdiar (for eksempel pasient-ID-ar) som inngår i fleire datasett og som skal anonymiserast. Då er det viktig at dei vert anonymiserte til same verdiar på tvers av datasetta.

Sjå anonymiser() for informasjon om argumenta og detaljar om anonymiseringa (desse er like i denne funksjonen).

Note

Funksjonen må køyrast på ein vektor som inneheld alle verdiane ein i framtida ønskjer å anonymisera. (Viss ein vil anonymisera pasient-ID-ar i eit kvalitetsregister, er dette typisk data frå eit inklusjonsskjema eller eit pasientskjema). Viss det ikkje finst ein slik vektor frå før, må ein laga ein, ved å samla alle verdiane ein vil anonymisera på tvers av datasett.

See also

Bruk heller anonymiser() dersom du berre vil anonymisera éin vektor.

Examples

library(tibble)
library(dplyr)

d_operasjon = tibble(
  pasient_id = c(2, 5, 7, 5, 8),
  sjukehus = c(
    "Bergen", "Oslo", "Stavanger",
    "Oslo", "Stavanger"
  )
)
d_oppfolging = tibble(
  pasient_id = c(7, 8),
  komplikasjonar = c(TRUE, FALSE)
)

anonymiser_pasids = lag_anonymiseringsfunksjon(d_operasjon$pasient_id)

d_operasjon_ano = mutate(d_operasjon, pasient_id = anonymiser_pasids(pasient_id))
d_oppfolging_ano = mutate(d_oppfolging, pasient_id = anonymiser_pasids(pasient_id))
d_operasjon_ano
#> # A tibble: 5 × 2
#>   pasient_id sjukehus 
#>        <int> <chr>    
#> 1       1002 Bergen   
#> 2       1003 Oslo     
#> 3       1004 Stavanger
#> 4       1003 Oslo     
#> 5       1001 Stavanger
d_oppfolging_ano
#> # A tibble: 2 × 2
#>   pasient_id komplikasjonar
#>        <int> <lgl>         
#> 1       1004 TRUE          
#> 2       1001 FALSE