Surv(time, time2, event,
type=c('right', 'left', 'interval', 'counting', 'interval2'),
origin=0)
is.Surv(x)
TRUE
/FALSE
(TRUE
= death) or 1/2 (2=death). For
interval censored data, the status indicator is 0=right censored,
1=event at time
(start, end]
. For counting process
data, event
indicates whethe"right"
, "left"
, "counting"
,
"interval"
, or "interval2"
. The default is
"right"
or "cou
Surv
. There are methods for print
,
is.na
, and subscripting survival objects. Surv
objects
are implemented as a matrix of 2 or 3 columns. In the case of is.Surv
, a logical value TRUE
if x
inherits from class "Surv"
, otherwise an FALSE
.
time
,time2
and event
arguments are matched by
position, not by name, so use, eg, Surv(time, dead)
rather than
Surv(time, event=dead)
In theory it is possible to represent interval censored data without a third column containing the explicit status. Exact, right censored, left censored and interval censored observation would be represented as intervals of [a,a], (a, infinity), (-infinity,b), and [a,b] respectively; each interval is a pair of time points within which the event is known to have occurred.
If type="interval2"
then the representation given above is
assumed, with NA
taking the place of infinity.
If type="interval"
then event
must be given.
If event
is 0
, 1
, or 2
,
the relevant
information is assumed to be contained in time
,
the value in time2
is ignored,
and the second column of the internal representation contains a
placeholder value.
Presently, the only methods allowing interval censored data are the
parametric models computed by survreg
and survival curves
computed by survfit
; for both of these,
the distinction between open and closed intervals
is unimportant.
The distinction is important for counting process data and
the Cox model.
The function tries to distinguish between the use of 0/1 and 1/2 coding for
left and right censored data using
if (max(status)==2)
.
If 1/2 coding is used and all the subjects are censored, it will
guess wrong.
In any questionable case it is safer to use logical coding,
e.g., Surv(time, status==3)
would indicate that a 3
is
the code for an event.
Surv objects can be subscripted either as an object, e.g.
x[1:3]
using a single subscript;
in which case the drop
argument is ignored;
or as a matrix, using two arguments.
If the second subscript is missing and drop=F
(the default),
the result of the subscripting will be a Surv object, e.g.,
x[1:3,,drop=F]
,
otherwise the result will be a matrix (or vector), in accordance with
the default behavior for subscripting matrices.
coxph
,
survfit
,
survreg
.with(lung, Surv(time, status))
Surv(heart$start, heart$stop, heart$event)
Run the code above in your browser using DataLab