knitr::opts_chunk$set(
  collapse = TRUE,
  comment = ""
)

Introduktion

Detta R-paket utgör en bilaga till uppsatsen:

Elenius, M. (2018). Beslutsanalys av medicinska åldersbedömningar inom asylprocessen.

Installation

Observera ifall du använder Windows behöver du ha installerat Rtools.

if (!require("devtools")) {
  install.packages("devtools")
}
devtools::install_github("elenius/agedecision", dependencies = TRUE)

library(agedecision)

Resultat

Specificitet och sensitivitet i åldersintervallet från 15 till 21 år ges av:

library(agedecision)
spec_sens_all(age.min = 15, age.max = 21)

Andel som klassificeras som vuxna, både korrekt och felaktigt för samtliga metoder då prevalensen varieras från 0 till 1 i skalsteg om 0.01. Dessutom anges accuracy (andel korrekt klassificerade). Även specificitet och sensitivitet anges, även om dessa är oberoende av prevalensen. Åldersintervallet anges även här från 15 till 21 år.

dat <- classified_adults(by = 0.01, age.min = 15, age.max = 21)

# Resultat prevalens = 0.84
print.data.frame(subset(dat, prevalence == 0.84), row.names = FALSE)

Beräkning av samtliga förväntade nyttor då nyttan för en felklassificerad vuxen och prevalensen varieras från 0 till 1 i skalsteg om 0.01, vilket ger upphov till 10 201 kombinationer för varje metod (9 st) och nyttofunktioner (2 st), vilket ger upphov till 183 618 olika resultat. Beräkningarna tar här ungefär en halv minut att utföra.

system.time(resultat <- eu_all_comb(by = 0.01, age.min = 15, age.max = 21))

# Antal rader = 10201 * 9 * 2
format(nrow(resultat), big.mark = " ")

# Resultat då Uvo = 0.5 och prevalens = 0.84
print.data.frame(subset(resultat, uvo == 0.5 & prevalence == 0.84), row.names = FALSE)

Funktioner och dataset

Se dokumentationen för dataset och funktioner med hjälp av ?

# Dataset
?tand # data för visdomstand
?hand # data för handled
?kna # data för knäled
?logcoef # samtliga regressionskoefficienter

# Täthetsfunktion (två likformiga fördelningar)
?dunif2

# Sannolikhetsfunktioner
?logistic_function # logistisk funktion
?logistic_center # ger den centrerade åldern av en logistisk funktion
?pM # listar samtliga sannolikhetsfunktioner

# Nyttofunktioner
?utility_discrete_adult 
?utility_discrete_child
?utility_linear_adult
?utility_linear_child

# Förväntad nytta
?eu_i
?eu_all
?eu_all_comb

# Resultat specificitet, sensitivitet, accuracy, andel klassificerade vuxna
?spec_sens
?spec_sens_all
?classified_adults

Exempel regressionsanalys

Resultatet av de regressionsanalyser som utförts ges av regressionskoefficienterna i datasetet ?logcoef och av sannolikhetsfunktionerna ?pM. Här visas exempel på hur regressionen går till för visdomstand och knäled. Se också data-raw/datasets.R där datainläsning och regressionsanalyser görs för samtliga metoder.

# Visdomstand (Simonsson m. fl. (2017))
mod.tand <- glm(formula = cbind(moget, omoget) ~ age, family = binomial, data = tand)
coef(mod.tand)

# Knäled (Krämer m. fl. (2014), Saint-Martin m. fl. (2015))
mod.kna <- glm(formula = cbind(moget, omoget) ~ age, family = binomial, data = kna)
coef(mod.kna)

Referens

Om du använder programkoden, ange gärna nedanstående referens:

citation("agedecision")


elenius/agedecision documentation built on May 7, 2019, 11:12 a.m.