Nothing
## ----pkgs, eval = TRUE, echo = TRUE, message = FALSE--------------------------
library(popEpi)
library(Epi)
## -----------------------------------------------------------------------------
data(sire)
## NOTE: recommended to use factor status variable
x <- Lexis(entry = list(FUT = 0, AGE = dg_age, CAL = get.yrs(dg_date)),
exit = list(CAL = get.yrs(ex_date)),
data = sire[sire$dg_date < sire$ex_date, ],
exit.status = factor(status, levels = 0:2,
labels = c("alive", "canD", "othD")),
merge = TRUE)
## pretend some are male
set.seed(1L)
x$sex <- rbinom(nrow(x), 1, 0.5)
## observed survival - explicit method
st <- survtab(Surv(time = FUT, event = lex.Xst) ~ sex, data = x,
surv.type = "surv.obs",
breaks = list(FUT = seq(0, 5, 1/12)))
## observed survival - easy method (assumes lex.Xst in x is the status variable)
st <- survtab(FUT ~ sex, data = x,
surv.type = "surv.obs",
breaks = list(FUT = seq(0, 5, 1/12)))
## printing gives the used settings and
## estimates at the middle and end of the estimated
## curves; more information available using summary()
st
## -----------------------------------------------------------------------------
plot(st, col = c("blue", "red"))
## ----popmort------------------------------------------------------------------
data(popmort)
pm <- data.frame(popmort)
names(pm) <- c("sex", "CAL", "AGE", "haz")
head(pm)
## ----survtab_e2---------------------------------------------------------------
st.e2 <- survtab(Surv(time = FUT, event = lex.Xst) ~ sex, data = x,
surv.type = "surv.rel", relsurv.method = "e2",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
## -----------------------------------------------------------------------------
plot(st.e2, y = "r.e2", col = c("blue", "red"))
## ----survtab_pp---------------------------------------------------------------
st.pp <- survtab(Surv(time = FUT, event = lex.Xst) ~ sex, data = x,
surv.type = "surv.rel", relsurv.method = "pp",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
## -----------------------------------------------------------------------------
plot(st.e2, y = "r.e2", col = c("blue", "red"), lty = 1)
lines(st.pp, y = "r.pp", col = c("blue", "red"), lty = 2)
## ----survtab_adjust-----------------------------------------------------------
## an age group variable
x$agegr <- cut(x$dg_age, c(0, 60, 70, 80, Inf), right = FALSE)
## using "internal weights" - see ?ICSS for international weights standards
w <- table(x$agegr)
w
w <- list(agegr = as.numeric(w))
## ----survtab_adjust_2---------------------------------------------------------
st.as <- survtab(Surv(time = FUT, event = lex.Xst) ~ sex + adjust(agegr),
data = x, weights = w,
surv.type = "surv.rel", relsurv.method = "e2",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
## -----------------------------------------------------------------------------
plot(st.as, y = "r.e2.as", col = c("blue", "red"))
## ----weights_examples, eval = TRUE--------------------------------------------
list(sex = c(0.4, 0.6), agegr = c(0.2, 0.2, 0.4, 0.2))
wdf <- merge(0:1, 1:4)
names(wdf) <- c("sex", "agegr")
wdf$weights <- c(0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.1)
wdf
## ----survtab_adjust_3---------------------------------------------------------
st.as <- survtab(Surv(time = FUT, event = lex.Xst) ~ sex,
adjust = "agegr",
data = x, weights = w,
surv.type = "surv.rel", relsurv.method = "e2",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
## ----survtab_cause------------------------------------------------------------
st.ca <- survtab(Surv(time = FUT, event = lex.Xst) ~ 1,
data = x,
surv.type = "surv.cause",
breaks = list(FUT = seq(0, 5, 1/12)))
st.pp <- survtab(Surv(time = FUT, event = lex.Xst) ~ 1, data = x,
surv.type = "surv.rel", relsurv.method = "pp",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
plot(st.ca, y = "surv.obs.canD", col = "blue")
lines(st.pp, y = "r.pp", col = "red")
## ----survtab_cif--------------------------------------------------------------
st.cif <- survtab(Surv(time = FUT, event = lex.Xst) ~ 1,
data = x,
surv.type = "cif.obs",
breaks = list(FUT = seq(0, 5, 1/12)))
plot(st.cif, y = "CIF_canD", conf.int = FALSE)
lines(st.cif, y = "CIF_othD", conf.int = FALSE, col = "red")
## ----survtab_relcif-----------------------------------------------------------
st.cir <- survtab(Surv(time = FUT, event = lex.Xst) ~ 1,
data = x,
surv.type = "cif.rel",
breaks = list(FUT = seq(0, 5, 1/12)),
pophaz = pm)
plot(st.cif, y = "CIF_canD", conf.int = FALSE, col = "blue")
lines(st.cir, y = "CIF.rel", conf.int = FALSE, col = "red")
## -----------------------------------------------------------------------------
sire$sex <- rbinom(nrow(sire), size = 1, prob = 0.5)
ag <- lexpand(sire, birth = "bi_date", entry = "dg_date", exit = "ex_date",
status = "status", breaks = list(fot = seq(0, 5, 1/12)),
aggre = list(sex, fot))
head(ag)
## ----survtab_ag_example1------------------------------------------------------
st <- survtab_ag(fot ~ sex, data = ag, surv.type = "surv.obs",
surv.method = "hazard",
d = c("from0to1", "from0to2"), pyrs = "pyrs")
## ----survtab_ag_example2------------------------------------------------------
st <- survtab_ag(fot ~ sex, data = ag, surv.type = "surv.obs",
surv.method = "lifetable",
d = c("from0to1", "from0to2"), n = "at.risk",
n.cens = "from0to0")
## ----survtab_ag_cause---------------------------------------------------------
st.ca <- survtab_ag(fot ~ sex, data = ag, surv.type = "surv.cause",
surv.method = "hazard",
d = list(canD = from0to1, othD = from0to2), pyrs = "pyrs")
plot(st.ca, y = "surv.obs.canD", col = c("blue", "red"))
## -----------------------------------------------------------------------------
ag <- lexpand(sire, birth = "bi_date", entry = "dg_date", exit = "ex_date",
status = "status", breaks = list(fot = seq(0, 5, 1/12)),
pophaz = popmort, pp = TRUE,
aggre = list(sex, fot))
st.pp <- survtab_ag(fot ~ sex, data = ag, surv.type = "surv.rel",
surv.method = "hazard", relsurv.method = "pp",
d = list(from0to1 + from0to2), pyrs = "pyrs",
d.pp = list(from0to1.pp + from0to2.pp),
d.pp.2 = list(from0to1.pp.2 + from0to2.pp.2),
pyrs.pp = "ptime.pp", d.exp.pp = "d.exp.pp")
plot(st.pp, y = "r.pp", col = c("blue", "red"))
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.