Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
warning = FALSE,
message = FALSE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(QHScrnomo)
## -----------------------------------------------------------------------------
str(prostate.dat)
## -----------------------------------------------------------------------------
# Register the data set
dd <- datadist(prostate.dat)
options(datadist = "dd")
# Fit the Cox-PH model for the event of interest
prostate.f <- cph(Surv(TIME_EVENT,EVENT_DOD == 1) ~ TX + rcs(PSA,3) +
BX_GLSN_CAT + CLIN_STG + rcs(AGE,3) +
RACE_AA, data = prostate.dat,
x = TRUE, y= TRUE, surv=TRUE, time.inc = 144)
prostate.f
## -----------------------------------------------------------------------------
# Refit to a competing risks regression
prostate.crr <- crr.fit(prostate.f, cencode = 0, failcode = 1)
prostate.crr
## -----------------------------------------------------------------------------
class(prostate.crr)
## -----------------------------------------------------------------------------
summary(prostate.crr)
## -----------------------------------------------------------------------------
anova(prostate.crr)
## -----------------------------------------------------------------------------
time_of_interest <- 120 # In months, so 10 years
## -----------------------------------------------------------------------------
set.seed(123)
prostate.dat$preds.tenf <- tenf.crr(prostate.crr, time = time_of_interest)
str(prostate.dat$preds.tenf)
## -----------------------------------------------------------------------------
cindex(
prob = prostate.dat$preds.tenf,
fstatus = prostate.dat$EVENT_DOD,
ftime = prostate.dat$TIME_EVENT,
type = "crr",
failcode = 1
)
## ----fig.width=5, fig.height=5------------------------------------------------
groupci(
x = prostate.dat$preds.tenf,
ftime = prostate.dat$TIME_EVENT,
fstatus = prostate.dat$EVENT_DOD,
g = 10, # Deciles
u = time_of_interest,
failcode = 1,
xlab = "Predicted 10-year prostate cancer-specific mortality",
ylab = "Actual 10-year prostate cancer-specific mortality"
)
## ----fig.width=7, fig.height=6------------------------------------------------
# Set some nice display labels (also see ?Newlevels)
prostate.g <-
Newlabels(
fit = prostate.crr,
labels =
c(
TX = "Treatment options",
PSA = "PSA (ng/mL)",
BX_GLSN_CAT = "Biopsy Gleason Score Sum",
CLIN_STG = "Clinical Stage",
AGE = "Age (Years)",
RACE_AA = "Race"
)
)
# Construct the nomogram
nomogram.crr(
fit = prostate.g,
failtime = time_of_interest,
lp = FALSE,
xfrac = 0.65,
fun.at = seq(0.2, 0.45, 0.05),
funlabel = "Predicted 10-year risk"
)
## -----------------------------------------------------------------------------
sas.cmprsk(prostate.crr, time = time_of_interest)
## -----------------------------------------------------------------------------
# Get the cuminc object
cum <-
cmprsk::cuminc(
ftime = prostate.dat$TIME_EVENT,
fstatus = prostate.dat$EVENT_DOD,
group = prostate.dat$TX,
cencode = 0
)
# Extract "nice" output at a time point of interest
pred.ci(cum, tm1 = time_of_interest, failcode = 1)
## -----------------------------------------------------------------------------
prostate.dat$pred.120 <- predict(prostate.crr, time = time_of_interest)
str(prostate.dat$pred.120)
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.