Learn R Programming

survMisc (version 0.5.0)

ten: time, event(s) and number at risk.

Description

time, event(s) and number at risk.

Usage

ten(x, ...)

## S3 method for class 'numeric': ten(x, ...)

## S3 method for class 'Surv': ten(x, ..., call = NULL)

## S3 method for class 'coxph': ten(x, ..., abbNames = TRUE, contrasts.arg = NULL)

## S3 method for class 'survfit': ten(x, ..., abbNames = TRUE, contrasts.arg = NULL)

## S3 method for class 'formula': ten(x, ..., abbNames = TRUE, contrasts.arg = NULL)

## S3 method for class 'data.frame': ten(x, ..., abbNames = TRUE, contrasts.arg = NULL, call = NULL)

## S3 method for class 'data.table': ten(x, ..., abbNames = TRUE, mm = NULL, call = NULL)

## S3 method for class 'ten': ten(x, ..., abbNames = NULL, call = NULL)

Arguments

x
For the default method, a numeric vector indicating an event (or status). Each element indicates whether an event occurred (1) or not (0) for an observation. These are assumed to be ordered by discrete t
abbNames
Abbreviate names? If abbNames="TRUE" (the default), the covariate groups are referred to by number. As the names for each covariate group are made by concatenating the predictor names, the full names can become unwieldly. If
contrasts.arg
Methods for handling factors. A list. The names are the names of columns of the model.frame containing factors. The values are used as replacement values for the stats::contrasts
call
Used to pass the call from a formula to the final ten.data.table method.
mm
Used to pass the model.matrix from a formula to the final ten.data.table method.
...
Additional arguments (not implemented).

Value

  • A data.table with the additional class ten. By default, the shape returned is 'long' i.e. there is one row for each unique timepoint per covariate group. The basic form, for a numeric or Surv object, has columns:
  • ttime.
  • enumber of events.
  • nnumber at risk.
  • A survfit, coxph or formula object will have additional columns:
  • cgcovariate group. This is formed by combining the variables; these are separated by a comma ','.
  • ncgnumber at risk, by covariate group
  • Special terms. The following are considered 'special' terms in a survival model:
  • strataFor a stratified model, ten returns a list with one element per strata, which is a ten object. This has the class stratTen. The name of the list elements are those of the strata in the model.
  • clusterThese terms are dropped.
  • ttThe variable is unchanged. That is, time-transform terms are handled as if the the function tt(x) was identity(x).
  • Attribures. The returned object will also have the following attributes:
  • shapeThe default is "long" but is changed to "wide" when asWide is called on the object.
  • abbNamesAbbreviate names?
  • longNamesA data.table with two columns, showing the abbrevbiated and full names.
  • ncgNumber of covariate groups
  • callThe call used to generate the object
  • mmThe model.matrix used to generate to generate the object, if applicable.
  • Additional attributes will be added by the following functions: sf ci

See Also

asWide

print

Examples

Run this code
require("survival")
## binary vector
ten(c(1, 0, 1, 0, 1))
## Surv object
df0 <- data.frame(t=c(1, 1, 2, 3, 5, 8, 13, 21),
                  e=rep(c(0, 1), 4))
s1 <- with(df0, Surv(t, e, type="right"))
ten(s1)
## some awkward values
suppressWarnings(
    s1 <- Surv(time=c(Inf, -1, NaN, NA, 10, 12),
               event=c(c(NA, 1, 1, NaN, Inf, 0.75))))
ten(s1)
## coxph object
## K&M. Section 1.2. Table 1.1, page 2.
data("hodg", package="KMsurv")
hodg <- data.table::data.table(hodg)
data.table::setnames(hodg,
                     c(names(hodg)[!names(hodg) %in%
                                   c("score", "wtime")],
                       "Z1", "Z2"))
c1 <- coxph(Surv(time=time, event=delta) ~ Z1 + Z2,
            data=hodg[gtype==1 && dtype==1, ])
ten(c1)
data("bmt", package="KMsurv")
ten(c1 <- coxph(Surv(t2, d3) ~ z3*z10, data=bmt))
## T&G. Section 3.2, pg 47.
## stratified model
data("pbc", package="survival")
c1 <- coxph(Surv(time, status==2) ~ log(bili) + age + strata(edema), data=pbc)
ten(c1)
## K&M. Example 7.2, pg 210.
data("kidney", package="KMsurv")
with(kidney[kidney$type==2, ], ten(Surv(time=time, event=delta)))
s1 <- survfit(Surv(time=time, event=delta) ~ type, data=kidney)
ten(s1)[e > 0, ]
## A null model is passed to ten.Surv
(t1 <- with(kidney, ten(Surv(time=time, event=delta) ~ 0)))
## but the original call is preserved
attr(t1, "call")
## survival::survfit doesn't accept interaction terms...
s1 <- survfit(Surv(t2, d3) ~ z3*z10, data=bmt)
## but ten.formula does:
ten(Surv(time=t2, event=d3) ~ z3*z10, data=bmt)
## the same is true for the '.' (dot operator) in formulas
(t1 <- ten(Surv(time=t2, event=d3) ~ ., data=bmt))
## impractical long names stored as an attribute
attr(t1, "longNames")
## not typically intended to be called directly
mf1 <- model.frame(Surv(time, status==2) ~ age + strata(edema) + strata(spiders), pbc,
                   drop.unused.levels = TRUE)
ten(mf1)

Run the code above in your browser using DataLab