Make a cross-section of multi-state data at a given time point
Make a cross-section of multi-state data at a given time point
Given a dataset in long format, for instance generated by msprep, this function takes a cross-section at a given time point, to list the subjects under observation (at risk) at that time point and the states currently occupied.
xsect(msdata, xtime =0)
Arguments
msdata: An object of class "msdata", such as output by msprep
xtime: The time point at which the intersection is to be made
Returns
A list containing idstate, a data frame containing id's and state, the number of the state currently occupied; atrisk, the number at risk, and prop, a table counting how many of those at risk occupy which state.
Details
It is possible that subjects have moved to one of the absorbing states prior to xtime; this is NOT taken into account. The function xsect
only concerns subjects currently (at time) at risk.
Examples
tmat <- trans.illdeath(names=c("Tx","PR","RelDeath"))data(ebmt3)# data from Section 4 of Putter, Fiocco & Geskus (2007)msebmt <- msprep(time=c(NA,"prtime","rfstime"),status=c(NA,"prstat","rfsstat"), data=ebmt3,trans=tmat)# At the start everyone is in state 1 (default xtime=0 is used)xsect(msebmt)# At 5 yearsxsect(msebmt, xtime=1826)