Reporting survival models with non-linear terms

Dear all,

First time posting here. A great discussion forum!

My question is, how do we report the results of a survival model with non-linear terms? For example, if we fit a model using cph() for a continuous variable using rcs(var, df=3), we’ll end up with two coefficients (linear (var) and non-linear(var')) in the summary table. Is it acceptable to report the exp(coef) as HR for both components in a manuscript or do not report HRs for the variable altogether? The following paper reports coefficients with their SEs (, but do not report HR values as the variable has both linear and non-linear components. If the variable is not a key exposure variable, there is little chance of considering the plot of the relative hazard ratio using Predict() in a manuscript. In this case, what is the appropriate method of reporting the results in a table format?

Do we have any good guidance or paper/s to refer to in this regard?

1 Like

Very good question. We’ve had some success with multi-panel partial effect plots (e.g. ggplot(Predict(fit, ...)) in medical journals. I think that is the best way to present nonlinear fits. If you cannot convince them to allow a small graph, then don’t resort to anti-logging individual regression coefficients when a predictor takes multiple terms. If the relationship is monotonic, consider using an inter-quartile-range hazard ratio by subtracting and then anti-logging predictions at the outer quartiles of the predictor. I go into this in the RMS book and course notes.

Dear Prof. Harrell, thank you very much for your prompt reply!

I think what you meant is to use the plot(summary(cph_object, antilog = T)) function, if I’m not wrong. Thank you for making your book & course notes freely available. They are very helpful.

Just for education purposes, are there any published papers that you recommend to refer/read as well?

The dot charts that result from plot(summary()) are good for categorical variables and for continuous variables that are linear, but are not optimal in general. For continuous variables we need to show the entire relationship. You can do that on the log relative hazard scale, the relative hazard scale, or at a specific time point using Predict(..., time=).

There are some papers here.

Thank you very much Prof. Harrell. This is really helpful.