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.
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