Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
message = FALSE,
warning = FALSE,
comment = "#>",
eval = FALSE,
include = TRUE
)
## ----eval = TRUE, include = TRUE----------------------------------------------
library(lnmixsurv)
library(dplyr)
library(tidyr)
library(readr)
mod1 <- survival_ln_mixture(Surv(y, delta) ~ NULL,
sim_data$data,
iter = 4000,
warmup = 2000,
intercept = TRUE,
starting_seed = 15,
em_iter = 50,
mixture_components = 3
)
chains <- bayesplot::mcmc_trace(mod1$posterior)
## -----------------------------------------------------------------------------
# bayesplot::mcmc_trace(mod1$posterior)
## ----eval = TRUE, echo = FALSE, fig.width = 7--------------------------------
chains
## ----eval = TRUE, fig.width=7-------------------------------------------------
km <- survival::survfit(
Surv(y, delta) ~ NULL,
sim_data$data
) |>
broom::tidy() # Kaplan-Meier estimate
ggplot(km) +
geom_step(aes(x = time, y = estimate),
color = "darkslategrey"
) +
labs(
title = "Kaplan-Meier estimate",
x = "t",
y = "S(t)"
) +
theme_bw()
## ----eval = TRUE, include = TRUE----------------------------------------------
predictions <- predict(mod1,
new_data = data.frame(val = NA),
type = "survival",
eval_time = seq(0, 300)
) |>
tidyr::unnest(cols = .pred)
## ----fig.width=7, eval = TRUE-------------------------------------------------
ggplot() +
geom_step(aes(x = time, y = estimate, linetype = "Kaplan-Meier"),
color = "darkslategrey", data = km
) +
geom_line(aes(x = .eval_time, y = .pred_survival, linetype = "Fitted"),
color = "darkslategrey",
data = predictions, alpha = 0.7
) +
labs(
title = "Fitted survival estimates",
x = "t",
y = "S(t)",
linetype = "Type"
) +
theme_bw()
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.