Skip to content

Instantly share code, notes, and snippets.

@paulovillarroel
Created February 24, 2024 22:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paulovillarroel/8cd698987b38c33396351b7a8fff2a32 to your computer and use it in GitHub Desktop.
Save paulovillarroel/8cd698987b38c33396351b7a8fff2a32 to your computer and use it in GitHub Desktop.
Example of the use of the kaplan-Meier survival analysis model
library(tidyverse)
library(finalfit)
library(survival)
melanoma <- boot::melanoma
melanoma <- melanoma |>
mutate(
status_os = if_else(status == 2, 0,
1
),
status_dss = if_else(status == 2, 0,
if_else(status == 1, 1,
0
)
),
status_crr = if_else(status == 2, 0,
if_else(status == 1, 1,
2
)
),
age = ff_label(age, "Age (years)"),
thickness = ff_label(thickness, "Tumour thickness (mm)"),
sex = factor(sex) |>
fct_recode(
"Male" = "1",
"Female" = "0"
) |>
ff_label("Sex"),
ulcer = factor(ulcer) |>
fct_recode(
"No" = "0",
"Yes" = "1"
) |>
ff_label("Ulcerated tumour")
)
# Kaplan Meier
survival_object <- melanoma %$%
Surv(time, status_os)
survival_object <- melanoma %$%
Surv(time / 365, status_os)
my_survfit <- survfit(survival_object ~ 1, data = melanoma)
summary(my_survfit, times = c(0, 1, 2, 3, 4, 5))
# Plot
dependent_os <- "Surv(time/365, status_os)"
explanatory <- c("ulcer")
melanoma |>
surv_plot(dependent_os, explanatory, pval = TRUE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment