Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 5
)
## -----------------------------------------------------------------------------
foo1 <- function() {
c(
"TP" = -3,
"FP" = -1,
"TN" = 0,
"FN" = -4
)
}
foo1()
## -----------------------------------------------------------------------------
foo2 <- function() {
intervention_cost <- rgamma(n = 1, shape = 1)
intervention_effectiveness <- rbeta(n = 1, shape1 = 10, shape2 = 10)
fall_cost <- rgamma(n = 1, shape = 4)
c(
"TP" = -intervention_cost - fall_cost * (1 - intervention_effectiveness),
"FP" = -intervention_cost,
"TN" = 0,
"FN" = -fall_cost
)
}
foo2()
foo2()
foo2()
## -----------------------------------------------------------------------------
foo3 <- function() {
# intervention for high-risk (hr) group
hr_intervention_cost <- rgamma(n = 1, shape = 1)
hr_intervention_effectiveness <- rbeta(n = 1, shape1 = 10, shape2 = 10)
# intervention for low-risk (lr) group
lr_intervention_cost <- rgamma(n = 1, shape = 0.5 * 10, rate = 1 * 10)
lr_intervention_effectiveness <- rbeta(n = 1, shape1 = 10, shape2 = 30)
fall_cost <- rgamma(n = 1, shape = 4)
c(
"TP" = -hr_intervention_cost - fall_cost *
(1 - hr_intervention_effectiveness),
"FP" = -hr_intervention_cost,
"TN" = -lr_intervention_cost,
"FN" = -lr_intervention_cost - fall_cost *
(1 - lr_intervention_effectiveness)
)
}
foo3()
foo3()
foo3()
## -----------------------------------------------------------------------------
library(predictNMB)
foo1_remake <-
get_nmb_sampler(
outcome_cost = 4,
high_risk_group_treatment_cost = 1,
high_risk_group_treatment_effect = 0.5
)
foo1_remake()
foo1()
## ---- warning=FALSE-----------------------------------------------------------
library(tidyr)
library(ggplot2)
plot_nmb_dist <- function(f, n = 10000) {
data <- do.call("rbind", lapply(1:n, function(x) f()))
data_long <- pivot_longer(
as.data.frame(data),
cols = everything(),
names_to = "classification",
values_to = "NMB"
)
ggplot(data_long, aes(NMB)) +
geom_histogram() +
facet_wrap(~classification) +
theme_bw() +
labs(y = "", x = "Net Monetary Benefit ($)")
}
## ---- fig.show='hold'---------------------------------------------------------
foo2_remake <-
get_nmb_sampler(
# our blank function, followed by a sampler
outcome_cost = function() rgamma(n = 1, shape = 4),
high_risk_group_treatment_cost = function() rgamma(n = 1, shape = 1),
high_risk_group_treatment_effect = function() rbeta(n = 1,
shape1 = 10,
shape2 = 10)
)
plot_nmb_dist(foo2_remake) + ggtitle("foo2_remake()")
plot_nmb_dist(foo2) + ggtitle("foo2()")
## ---- fig.show='hold'---------------------------------------------------------
foo3_remake <-
get_nmb_sampler(
outcome_cost = function() rgamma(n = 1, shape = 4),
high_risk_group_treatment_cost = function() rgamma(n = 1, shape = 1),
high_risk_group_treatment_effect = function() rbeta(n = 1,
shape1 = 10,
shape2 = 10),
low_risk_group_treatment_cost = function() rgamma(n = 1,
shape = 0.5 * 10,
rate = 1 * 10),
low_risk_group_treatment_effect = function() rbeta(n = 1,
shape1 = 10,
shape2 = 30)
)
plot_nmb_dist(foo3_remake) + ggtitle("foo3_remake()")
plot_nmb_dist(foo3) + ggtitle("foo3()")
## -----------------------------------------------------------------------------
foo4 <-
get_nmb_sampler(
wtp = 8,
qalys_lost = 0.5,
high_risk_group_treatment_cost = 1,
high_risk_group_treatment_effect = 0.5
)
foo4()
foo1()
## -----------------------------------------------------------------------------
foo4 <-
get_nmb_sampler(
wtp = 8,
qalys_lost = 0.5,
high_risk_group_treatment_cost = 1,
high_risk_group_treatment_effect = 0.5
)
foo4()
class(foo4)
class(foo1)
attributes(foo4)
## ---- eval=FALSE--------------------------------------------------------------
# simulation_foo4 <- do_nmb_sim(
# sample_size = 200, n_sims = 500, n_valid = 10000, sim_auc = 0.7,
# event_rate = 0.1, fx_nmb_training = foo1, fx_nmb_evaluation = foo4,
# cutpoint_methods = c("all", "none", "youden", "value_optimising")
# )
#
# simulation_foo1 <- do_nmb_sim(
# sample_size = 200, n_sims = 500, n_valid = 10000, sim_auc = 0.7,
# event_rate = 0.1, fx_nmb_training = foo1, fx_nmb_evaluation = foo1,
# cutpoint_methods = c("all", "none", "youden", "value_optimising")
# )
## ---- echo=FALSE--------------------------------------------------------------
simulation_foo4 <- readRDS("fixtures/nmb-functions-simulation_foo4.rds")
simulation_foo1 <- readRDS("fixtures/nmb-functions-simulation_res1.rds")
## ---- eval=FALSE, echo=FALSE--------------------------------------------------
# saveRDS(simulation_foo4, "fixtures/nmb-functions-simulation_foo4.rds")
# saveRDS(simulation_foo1, "fixtures/nmb-functions-simulation_res1.rds")
## -----------------------------------------------------------------------------
names(simulation_foo4)
names(simulation_foo1)
## ---- error=TRUE--------------------------------------------------------------
ce_plot(simulation_foo4, ref_col = "all")
ce_plot(simulation_foo1, ref_col = "all")
## ---- echo=FALSE--------------------------------------------------------------
simulation_res1 <- readRDS("fixtures/nmb-functions-simulation_res1.rds")
## ---- eval=FALSE--------------------------------------------------------------
# simulation_res1 <- do_nmb_sim(
# sample_size = 200, n_sims = 500, n_valid = 10000, sim_auc = 0.7,
# event_rate = 0.1, fx_nmb_training = foo1, fx_nmb_evaluation = foo1,
# cutpoint_methods = c("all", "none", "youden", "value_optimising")
# )
## -----------------------------------------------------------------------------
autoplot(simulation_res1) + theme_sim()
## -----------------------------------------------------------------------------
foo2_remake <-
get_nmb_sampler(
outcome_cost = function() rgamma(n = 1, shape = 4),
high_risk_group_treatment_cost = function() rgamma(n = 1, shape = 1),
high_risk_group_treatment_effect = function() rbeta(n = 1,
shape1 = 10,
shape2 = 10)
)
foo2_remake_training <-
get_nmb_sampler(
outcome_cost = function() rgamma(n = 1, shape = 4),
high_risk_group_treatment_cost = function() rgamma(n = 1, shape = 1),
high_risk_group_treatment_effect = function() rbeta(n = 1,
shape1 = 10,
shape2 = 10),
use_expected_values = TRUE
)
foo2_remake_training()
foo2_remake_training()
foo2_remake_training()
## ---- echo=FALSE--------------------------------------------------------------
simulation_res2 <- readRDS("fixtures/nmb-functions-simulation_res2.rds")
## ---- eval=FALSE--------------------------------------------------------------
# simulation_res2 <- do_nmb_sim(
# sample_size = 200, n_sims = 500, n_valid = 10000, sim_auc = 0.7,
# event_rate = 0.1, fx_nmb_training = foo2_remake_training,
# fx_nmb_evaluation = foo2_remake,
# cutpoint_methods = c("all", "none", "youden", "value_optimising")
# )
## -----------------------------------------------------------------------------
autoplot(simulation_res2) + theme_sim()
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.