Nothing
## ---- echo=FALSE, include=FALSE-----------------------------------------------
library(heemod)
## ---- echo = FALSE------------------------------------------------------------
NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true")
knitr::opts_chunk$set(
screenshot.force = FALSE
)
## ---- include = FALSE---------------------------------------------------------
param <- define_parameters(
age_init = 60,
sex = 0,
# age increases with cycles
age = age_init + model_time,
# operative mortality rates
omrPTHR = .02,
omrRTHR = .02,
# re-revision mortality rate
rrr = .04,
# parameters for calculating primary revision rate
cons = -5.49094,
ageC = -.0367,
maleC = .768536,
lambda = exp(cons + ageC * age_init + maleC * sex),
gamma = 1.45367786,
rrNP1 = .260677,
# revision probability of primary procedure
standardRR = 1 - exp(lambda * ((model_time - 1) ^ gamma -
model_time ^ gamma)),
np1RR = 1 - exp(lambda * rrNP1 * ((model_time - 1) ^ gamma -
model_time ^ gamma)),
# age-related mortality rate
sex_cat = ifelse(sex == 0, "FMLE", "MLE"),
mr = get_who_mr(age, sex_cat, local = TRUE),
# state values
u_SuccessP = .85,
u_RevisionTHR = .30,
u_SuccessR = .75,
c_RevisionTHR = 5294
)
mat_standard <- define_transition(
state_names = c(
"PrimaryTHR",
"SuccessP",
"RevisionTHR",
"SuccessR",
"Death"
),
0, C, 0, 0, omrPTHR,
0, C, standardRR, 0, mr,
0, 0, 0, C, omrRTHR+mr,
0, 0, rrr, C, mr,
0, 0, 0, 0, 1
)
mat_np1 <- define_transition(
state_names = c(
"PrimaryTHR",
"SuccessP",
"RevisionTHR",
"SuccessR",
"Death"
),
0, C, 0, 0, omrPTHR,
0, C, np1RR, 0, mr,
0, 0, 0, C, omrRTHR+mr,
0, 0, rrr, C, mr,
0, 0, 0, 0, 1
)
mod_standard <- define_strategy(
transition = mat_standard,
PrimaryTHR = define_state(
utility = 0,
cost = 394
),
SuccessP = define_state(
utility = discount(u_SuccessP, .015),
cost = 0
),
RevisionTHR = define_state(
utility = discount(u_RevisionTHR, .015),
cost = discount(c_RevisionTHR, .06)
),
SuccessR = define_state(
utility = discount(u_SuccessR, .015),
cost = 0
),
Death = define_state(
utility = 0,
cost = 0
)
)
mod_np1 <- define_strategy(
transition = mat_np1,
PrimaryTHR = define_state(
utility = 0,
cost = 579
),
SuccessP = define_state(
utility = discount(u_SuccessP, .015),
cost = 0
),
RevisionTHR = define_state(
utility = discount(u_RevisionTHR, .015),
cost = discount(c_RevisionTHR, .06)
),
SuccessR = define_state(
utility = discount(u_SuccessR, .015),
cost = 0
),
Death = define_state(
utility = 0,
cost = 0
)
)
res_mod <- run_model(
standard = mod_standard,
np1 = mod_np1,
parameters = param,
cycles = 60,
cost = cost,
effect = utility,
method = "beginning"
)
## ----include = FALSE----------------------------------------------------------
N <- 100
tab_indiv <- tibble::tibble(
age = round(rnorm(N, mean = 60, sd = 10)),
sex = sample(0:1, N, TRUE)
)
tab_indiv_w <- tibble::tibble(
age = round(rnorm(N, mean = 60, sd = 10)),
sex = sample(0:1, N, TRUE),
.weights = runif(N)
)
## ---- fig.align='center', fig.height=4, fig.width=6---------------------------
tab_indiv
library(ggplot2)
ggplot(tab_indiv, aes(x = age)) +
geom_histogram(binwidth = 2)
## -----------------------------------------------------------------------------
res_h <- update(res_mod, newdata = tab_indiv)
## -----------------------------------------------------------------------------
summary(res_h)
## ---- fig.align='center', fig.height=4, fig.width=6---------------------------
plot(res_h, result = "effect", binwidth = 5)
plot(res_h, result = "cost", binwidth = 50)
## ---- fig.align='center', fig.height=4, fig.width=6---------------------------
plot(res_h, result = "icer", type = "difference",
binwidth = 500)
plot(res_h, result = "effect", type = "difference",
binwidth = .1)
plot(res_h, result = "cost", type = "difference",
binwidth = 30)
## ---- fig.align='center', fig.height=4, fig.width=6---------------------------
plot(res_h, type = "counts")
## -----------------------------------------------------------------------------
tab_indiv_w
res_w <- update(res_mod, newdata = tab_indiv_w)
res_w
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.