crr.Lexis | R Documentation |
Fits a competing risks regression model using a Lexis
object assuming that every person enters at time 0 and exits at time
lex.dur
. Thus is only meaningful for Lexis objects with one record
per person, (so far).
crr.Lexis( obj, mod, quiet=FALSE, ...)
obj |
A Lexis object; variables in |
mod |
Formula, with the l.h.s. a character constant equal to a
level of |
quiet |
Logical indicating whether a brief summary should be printed. |
... |
Further arguments passed on to |
This function is a simple wrapper for crr
, allowing a
formula-specification of the model (which allows specifications of
covariates on the fly), and utilizing the structure of Lexis
objects to simplify specification of the outcome. Prints a summary of
the levels used as event, competing events and censoring.
By the structure of the Lexis
object it is not necessary
to indicate what the censoring code or competing events are, that is
automatically derived from the Lexis
object.
Currently only one state is allowed as l.h.s. (response) in mod
.
A crr
object (which is a list), with two extra
elements in the list, model.Lexis
- the model formula supplied,
and transitions
- a table of transitions and censorings showing
which transition was analysed and which were taken as competing events.
Bendix Carstensen, http://bendixcarstensen.com
crr
, Lexis
# Thorotrats patients, different histological types of liver cancer
# Load thorotrast data, and restrict to exposed
data(thoro)
tht <- thoro[thoro$contrast==1,]
# Define exitdate as the date of livercancer
tht$dox <- pmin( tht$liverdat, tht$exitdat, na.rm=TRUE )
tht <- subset( tht, dox > injecdat )
# Convert to calendar years in dates
tht <- cal.yr( tht )
# Set up a Lexis object with three subtypes of liver cancer and death
tht.L <- Lexis( entry = list( per = injecdat,
tfi = 0 ),
exit = list( per = dox ),
exit.status = factor( 1*hepcc+2*chola+3*hmang+
4*(hepcc+chola+hmang==0 & exitstat==1),
labels=c("No cancer","hepcc","chola","hmang","Dead") ),
data = tht )
summary( tht.L )
# Show the transitions
boxes( tht.L, boxpos=list(x=c(20,rep(80,3),30),
y=c(60,90,60,30,10) ),
show.BE="nz", scale.R=1000 )
# Fit a model for the Hepatocellular Carcinoma as outcome
# - note that you can create a variable on the fly:
library( cmprsk )
hepcc <- crr.Lexis( tht.L, "hepcc" ~ volume + I(injecdat-1940) )
hepcc$model.Lexis
hepcc$transitions
# Models for the three other outcomes:
chola <- crr.Lexis( tht.L, "chola" ~ volume + I(injecdat-1940) )
hmang <- crr.Lexis( tht.L, "hmang" ~ volume + I(injecdat-1940) )
dead <- crr.Lexis( tht.L, "Dead" ~ volume + I(injecdat-1940) )
# Compare the effects
# NOTE: This is not necessarily a joint model for all transitions.
zz <- rbind( ci.exp(hepcc),
ci.exp(chola),
ci.exp(hmang),
ci.exp(dead) )
zz <- cbind( zz[c(1,3,5,7) ,],
zz[c(1,3,5,7)+1,] )
rownames( zz ) <- c("hepcc","chola","hmang","dead")
colnames( zz )[c(1,4)] <- rownames( ci.exp(chola) )
round( zz, 3 )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.