cox.zph {survival}R Documentation

Test the Proportional Hazards Assumption of a Cox Regression


Test the proportional hazards assumption for a Cox regression model fit (coxph).


cox.zph(fit, transform="km", global=TRUE)



the result of fitting a Cox regression model, using the coxph function.


a character string specifying how the survival times should be transformed before the test is performed. Possible values are "km", "rank", "identity" or a function of one argument.


should a global chi-square test be done, in addition to the per-variable tests.


an object of class "cox.zph", with components:


a matrix with one row for each variable, and optionally a last row for the global test. Columns of the matrix contain the correlation coefficient between transformed survival time and the scaled Schoenfeld residuals, a chi-square, and the two-sided p-value. For the global test there is no appropriate correlation, so an NA is entered into the matrix as a placeholder.


the transformed time axis.


the matrix of scaled Schoenfeld residuals. There will be one column per variable and one row per event. The row labels contain the original event times (for the identity transform, these will be the same as x).


the calling sequence for the routine.

The computations require the original x matrix of the Cox model fit. Thus it saves time if the x=TRUE option is used in coxph. This function would usually be followed by both a plot and a print of the result. The plot gives an estimate of the time-dependent coefficient beta(t). If the proportional hazards assumption is true, beta(t) will be a horizontal line. The printout gives a test for slope=0.


P. Grambsch and T. Therneau (1994), Proportional hazards tests and diagnostics based on weighted residuals. Biometrika, 81, 515-26.

See Also

coxph, Surv.


fit <- coxph(Surv(futime, fustat) ~ age +,  
temp <- cox.zph(fit) 
print(temp)                  # display the results 
plot(temp)                   # plot curves 

[Package survival version 2.41-2 Index]