Practical exercise 8

 

In practical exercise 7 we used Cox regression to study how smoking habits, systolic blood pressure and body mass index influence the total mortality (i.e. mortality due to any cause) for Norwegian males and females. In this exercise, we will check if the assumptions for Cox regression are (reasonably well) fulfilled for the fitted model.

In practical exercise 7 it is explained how you may read the data into R. As in that exercise, we will disregard the 71 individuals who smoke pipe or cigar.

 

a) Fit a Cox model with sex, smoking habits, systolic blood pressure and body mass index as covariates by the commands:

fit.a=coxph(Surv(agestart,agestop,dead)~factor(sex)+factor(smkgr)+sbp+bmi,data=norw.death)

summary(fit.a)

Give an interpretation of the fitted model and describe the assumptions for this Cox regression fit.

 

b) We may obtain a model using a penalized smoothing spline for systolic blood pressure by the commands:

fit.b=coxph(Surv(agestart,agestop,dead)~factor(sex)+factor(smkgr)+pspline(sbp)+bmi, data=norw.death)

print(fit.b)

termplot(fit.b,se=T)

[To obtain the plots of the fitted model, you should repeatedly click on the graphical window. Alternatively you may give the command par(mfrow=c(2,2)) before termplot to obtain all plots in one graphical window.]

 

Perform the commands above and use the results to check if there is a log-linear effect of systolic blood pressure.

 

c) Check the assumption of log-linearity for body mass index.

 

If you find that the effect of systolic blood pressure or body mass index is not log-linear, you may either find a "suitable transformation" or create a categorical covariate by grouping the numeric covariate into "sensible groups". For body mass index, a "sensible grouping" is given by

  • Below 20.0: Underweight
  • 20.0-24.9: Normal
  • 25.0-29.9: Overweight
  • Over 30.0: Obese

This corresponds to the usual classification, except that we have moved the border between underweight and normal from 18.5 to 20.0 and disregarded the morbidly obese group (bmi above 40) to get a fair number of individuals in the lowest and highest groups.

 

In the further analysis you should continue with the new covariates.

 

d) We will then check the assumption of proportional hazards. If you work with the original measurements for systolic blood pressure and body mass index, this may be performed by the commands:

fit.d=coxph(Surv(agestart,agestop,dead)~strata(sex)+factor(smkgr)+sbp+bmi, data=norw.death)

cox.zph(fit.d,transform='log')

par(mfrow=c(2,3))

plot(cox.zph(fit.d,transform='log'))

 

If you work with grouped or transformed covariates, you should do the obvious modifications of the above commands.

 

Perform the commands (modified, if needed). Discuss what you may learn from the output and the plots