# How to truncate continuous variables in Cox proportional hazards regression model?

This may be a trivial question, but I couldn't find an explanation anywhere. I am working on a Cox model (in R, using the rms package) to predict survival. One of my variables is the body-mass-index (BMI). A few of the subjects in my data set have a very high BMI.

I'd like to determine if there is a maximum value so that higher values do not have added predictive value. I would then truncate the variable at this maximum value, which would make the nomogram generated from the model easier to use. Does this make sense and how would I do that?

Truncation of a continuous variable is almost never a good idea. A log transform of BMI might accomplish what you want, bringing the very high BMI values closer to the others in that log scale. Another possibility would be to model BMI as a spline, using the rcs() function available in the rms package.

As an additional note, Frank Harrell (who developed rms) would probably recommend against using BMI on its own (he has argued that point on this site); you might be better off using the weight and height values used to calculate BMI separately. If you do a log transform of the weight and height predictors, you could later test a contrast of those predictors that is equivalent to log(BMI).

I would instead try the linear spline or other nonlinear method. I'm assuming you have linear inputs, so by putting a linear spline you will allow for different slopes for different ranges of values of the BMI variable.

as EdM suggests, there are rarely any good reasons to truncate a variable because you suspect its effect diminishes after a certain value. As EdM also suggests, you could fit the model using splines and then plot the hazard function with the built in plot.Predict and then see the relationship betwen BMI and HR directly.

typical coding required:

#define variable distributions