library(survival)
library(survminer)
## Loading required package: ggplot2
## Loading required package: ggpubr
##
## Attaching package: 'survminer'
## The following object is masked from 'package:survival':
##
## myeloma
group1 <- c(6, 6, 6, 7, 10, 13, 16, 22, 23,
6, 9, 10, 11, 17, 19, 20,
25, 32, 32, 34, 35)
group1_censor <- c(rep(0, 9), rep(1, 12)) # 0 = uncensored, 1 = censored
group2 <- c(1, 1, 2, 2, 3, 4, 4, 5, 5,
8, 8, 8, 8, 11, 11, 12, 12,
15, 17, 22, 23)
group2_censor <- c(rep(0, 17), rep(1, 4)) # 0 = uncensored, 1 = censored
time <- c(group1, group2)
status <- c(1 - group1_censor, 1 - group2_censor) # Convert censoring: 1 = event occurred, 0 = censored
group <- c(rep("Group 1", length(group1)), rep("Group 2", length(group2)))
data <- data.frame(time = time, status = status, group = group)
surv_object <- Surv(time = data$time, event = data$status)
km_fit <- survfit(surv_object ~ group, data = data)
ggsurvplot(
km_fit,
data = data,
pval = TRUE,
conf.int = TRUE,
legend.title = "Groups",
legend.labs = c("Treatment (Group 1)", "Placebo (Group 2)"),
xlab = "Time (weeks)",
ylab = "Survival Probability",
ggtheme = theme_minimal()
)
##plot Kaplan Meier curves with pvalue
ggsurvplot(
km_fit,
data = data,
pval = FALSE, # Explicitly turn off the p-value
conf.int = TRUE,
legend.title = "Groups",
legend.labs = c("Treatment (Group 1)", "Placebo (Group 2)"),
xlab = "Time (weeks)",
ylab = "Survival Probability",
ggtheme = theme_minimal()
)
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.