R: Calculate Residuals for a 'coxph' Fit

residuals.coxph {survival} | R Documentation

## Calculate Residuals for a ‘coxph’ Fit

### Description

Calculates martingale, deviance, score or Schoenfeld residuals for a Cox proportional hazards model.

### Usage

    ## S3 method for class 'coxph'
    residuals(object,
           type=c("martingale", "deviance", "score", "schoenfeld",
    	      "dfbeta", "dfbetas", "scaledsch","partial"),
           collapse=FALSE, weighted= (type %in% c("dfbeta", "dfbetas")), ...)
    ## S3 method for class 'coxph.null'
    residuals(object,
           type=c("martingale", "deviance","score","schoenfeld"),
           collapse=FALSE, weighted= FALSE, ...)

### Arguments

`object` | an object inheriting from class `coxph`, representing a fitted Cox regression model. Typically this is the output from the `coxph` function.
`type` | character string indicating the type of residual desired. Possible values are `"martingale"`, `"deviance"`, `"score"`, `"schoenfeld"`, "dfbeta"', `"dfbetas"`, and `"scaledsch"`. Only enough of the string to determine a unique match is required.
`collapse` | vector indicating which rows to collapse (sum) over. In time-dependent models more than one row data can pertain to a single individual. If there were 4 individuals represented by 3, 1, 2 and 4 rows of data respectively, then `collapse=c(1,1,1, 2, 3,3, 4,4,4,4)` could be used to obtain per subject rather than per observation residuals.
`weighted` | if `TRUE` and the model was fit with case weights, then the weighted residuals are returned.
`...` | other unused arguments

### Value

For martingale and deviance residuals, the returned object is a vector with one element for each subject (without `collapse`). For score residuals it is a matrix with one row per subject and one column per variable. The row order will match the input data for the original fit. For Schoenfeld residuals, the returned object is a matrix with one row for each event and one column per variable. The rows are ordered by time within strata, and an attribute `strata` is attached that contains the number of observations in each strata. The scaled Schoenfeld residuals are used in the `cox.zph` function.

The score residuals are each individual's contribution to the score vector. Two transformations of this are often more useful: `dfbeta` is the approximate change in the coefficient vector if that observation were dropped, and `dfbetas` is the approximate change in the coefficients, scaled by the standard error for the coefficients.

### NOTE

For deviance residuals, the status variable may need to be reconstructed. For score and Schoenfeld residuals, the X matrix will need to be reconstructed.

### References

T. Therneau, P. Grambsch, and T. Fleming. "Martingale based residuals for survival models", Biometrika, March 1990.

### See Also

`coxph`

### Examples

     fit <- coxph(Surv(start, stop, event) ~ (age + surgery)* transplant,
                   data=heart)
     mresid <- resid(fit, collapse=heart$id)

[Package survival version 3.2-7 Index]