epi.insthaz | R Documentation |
Compute event instantaneous hazard on the basis of a Kaplan-Meier survival function.
epi.insthaz(survfit.obj, conf.level = 0.95)
survfit.obj |
a |
conf.level |
magnitude of the returned confidence interval. Must be a single number between 0 and 1. |
Computes the instantaneous hazard of the event of interest, equivalent to the proportion of the group at risk failing per unit time.
A data frame with the following variables: strata
the strata identifier, time
the observed event times, n.risk
the number of individuals at risk at the start of the event time, n.event
the number of individuals that experienced the event of interest at the event time, sest
the observed Kaplan-Meier survival function, slow
the lower bound of the confidence interval for the observed Kaplan-Meier survival function, supp
the upper bound of the confidence interval for the observed Kaplan-Meier survival function, hest
the observed instantaneous hazard (the proportion of the population at risk experiencing the event of interest per unit time), hlow
the lower bound of the confidence interval for the observed instantaneous hazard, and hupp
the upper bound of the confidence interval for the observed instantaneous hazard.
Venables W, Ripley B (2002). Modern Applied Statistics with S, fourth edition. Springer, New York, pp. 353 - 385.
Singer J, Willett J (2003). Applied Longitudinal Data Analysis Modeling Change and Event Occurrence. Oxford University Press, London, pp. 348.
## EXAMPLE 1:
library(survival)
dat.df01 <- lung
dat.df01$status <- ifelse(dat.df01$status == 1, 0, dat.df01$status)
dat.df01$status <- ifelse(dat.df01$status == 2, 1, dat.df01$status)
dat.df01$sex <- factor(dat.df01$sex, levels = c(1,2),
labels = c("Male","Female"))
lung.km01 <- survfit(Surv(time = time, event = status) ~ 1, data = dat.df01)
lung.haz01 <- epi.insthaz(survfit.obj = lung.km01, conf.level = 0.95)
lung.shaz01 <- data.frame(
time = lowess(lung.haz01$time, lung.haz01$hlow, f = 0.20)$x,
hest = lowess(lung.haz01$time, lung.haz01$hest, f = 0.20)$y,
hlow = lowess(lung.haz01$time, lung.haz01$hlow, f = 0.20)$y,
hupp = lowess(lung.haz01$time, lung.haz01$hupp, f = 0.20)$y)
plot(x = lung.haz01$time, y = lung.haz01$hest, xlab = "Time (days)",
ylab = "Daily probability of event", type = "s",
col = "grey", ylim = c(0, 0.05))
lines(x = lung.shaz01$time, y = lung.shaz01$hest,
lty = 1, lwd = 2, col = "black")
lines(x = lung.shaz01$time, y = lung.shaz01$hlow,
lty = 2, lwd = 1, col = "black")
lines(x = lung.shaz01$time, y = lung.shaz01$hupp,
lty = 2, lwd = 1, col = "black")
## Not run:
library(ggplot2)
ggplot() +
theme_bw() +
geom_step(data = lung.haz01, aes(x = time, y = hest), colour = "grey") +
geom_smooth(data = lung.haz01, aes(x = time, y = hest), method = "loess",
colour = "black", size = 0.75, linetype = "solid",
se = FALSE, span = 0.20) +
geom_smooth(data = lung.haz01, aes(x = time, y = hlow), method = "loess",
colour = "black", size = 0.5, linetype = "dashed",
se = FALSE, span = 0.20) +
geom_smooth(data = lung.haz01, aes(x = time, y = hupp), method = "loess",
colour = "black", size = 0.5, linetype = "dashed",
se = FALSE, span = 0.20) +
scale_x_continuous(limits = c(0,1000), name = "Time (days)") +
scale_y_continuous(limits = c(0,0.05), name = "Daily probability of event")
## End(Not run)
## EXAMPLE 2:
## Now stratify by gender:
lung.km02 <- survfit(Surv(time = time, event = status) ~ sex, data = dat.df01)
lung.haz02 <- epi.insthaz(survfit.obj = lung.km02, conf.level = 0.95)
## Not run:
library(ggplot2)
ggplot() +
theme_bw() +
geom_step(data = lung.haz02, aes(x = time, y = hest), colour = "grey") +
facet_grid(strata ~ .) +
geom_smooth(data = lung.haz02, aes(x = time, y = hest), method = "loess",
colour = "black", size = 0.75, linetype = "solid",
se = FALSE, span = 0.20) +
geom_smooth(data = lung.haz02, aes(x = time, y = hlow), method = "loess",
colour = "black", size = 0.5, linetype = "dashed",
se = FALSE, span = 0.20) +
geom_smooth(data = lung.haz02, aes(x = time, y = hupp), method = "loess",
colour = "black", size = 0.5, linetype = "dashed",
se = FALSE, span = 0.20) +
scale_x_continuous(limits = c(0,1000), name = "Time (days)") +
scale_y_continuous(limits = c(0,0.05), name = "Daily probability of event")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.