December 8, 2010

New paper: Survival analysis

Filed under: Publications, R — Tags: , , , , , , — csgillespie @ 8:13 pm

Each year I try to carry out some statistical consultancy to give me experience in other areas of statistics and also to provide teaching examples. Last Christmas I was approached by a paediatric consultant from the RVI who wanted to carry out prospective survival analysis. The consultant, Bruce  Jaffray, had performed Nissen fundoplication surgery on 230 children. Many of the children had other medical conditions such as cerebral palsy or low BMI. He was interested in the factors that affected patients’ survival.

The model

We fitted a standard cox proportional hazards model. The following covariates were significant:

  • gastrostomy
  • cerebral palsy
  • gender
  • need for revision surgery. This was when the child had to return to hospital for more surgery.
  • an interaction term between gastrostomy & cerebral palsy.

The interaction term was key to getting a good model fit. The figures (one of which is shown below) were constructed using ggplot2 and R. The referees actually commented on the (good) quality statistical work and nice figures! Always nice to read. Unfortunately, there isn’t a nice survival to ggplot2 interface. I had to write some rather hacky R code 😦


The main finding of the paper was the negative effect of cerebral palsy and gastrostomy on survival. Unfortunately, if a child had a gastronomy or had cerebral palsy then survival was dramatically reduced. The interaction effect was necessary, otherwise we would have predicted that all children with a gastronomy and cerebral palsy wouldn’t survive.

Other results

  • There was a rather strange and strong gender effect – male survival was greater than female.
  • The revision covariate was also significant – children who needed their fundoplication redone had increased survival. At first glance this is strange – the operation had to be redone, yet this was good for survival. However, this was really a red herring. Essentially children who had their surgery redone had by definition survived a minimum amount of time. I think something a bit more sophisticated could have been done with this variable, but the numbers weren’t that large.




  1. Hi, looks nice. I recently made a Kaplan Meier plot for a manuscript using ggplot2, too. I resorted to some script I found in a japanese blog:
    I modified it just a little (especially bw_theme() and line type to allow b/w printing)

    This script also shows censoring of observations, as used in SAS.

    regards, Jens

    Comment by jens — December 9, 2010 @ 11:50 am

    • Thanks for the link.

      My script was similar. Essentially, I created a survivalobject2dataframe function. I then used standard ggplot2 calls. If I get more time, I’ll update the function and release it. However at present it isn’t terribly robust 😦

      Comment by csgillespie — December 9, 2010 @ 3:18 pm

  2. […] fundoplication, ggplot2, journal, publication, R, survival — csgillespie @ 5:40 pm In a recent post, I discussed some  statistical consultancy I was involved with. I was quite proud of the nice […]

    Pingback by Survival paper (update) « Why? — January 13, 2011 @ 5:40 pm

  3. Would you mind sharing your code for this?

    Comment by lbens3 — February 18, 2016 @ 5:58 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: