R package SCCS

A general R package, SCCS, for self-controlled case series models was written by Yonas Ghebremichael-Weldesselassie. This can fit:

  1. The standard SCCS model.
  2. The semiparametric SCCS model. (Farrington CP and Whitaker HJ. Semi-parametric analysis of case series data. JRSS C, 2006, 55(5): 553-594.)
  3. The SCCS model for event dependent observation periods. (Farrington CP et al. Self-Controlled Case Series Analysis with Event-Dependent Observation Periods. JASA, 2011, 106(494): 417–426.) Updated in Version 1.1 (April 2017).
  4. The SCCS model for event dependent exposures or the pseudolikelihood method (Farrington CP, Whitaker HJ and Hocine MN. Case series analysis for censored, perturbed or curtailed post-event exposures. Biostatistics, 2009, 10(1): 3-16.) Added in Version 1.1 (April 2017).
  5. The SCCS model with smooth (spline-based) age effect. (Weldeselassie YG, Whitaker HJ, Farrington CP. Self-Controlled Case Series Method with Smooth Age Effect. Statistics in Medicine, 2014, 33(4): 639-649. DOI: 10.1002/sim.5949)
  6. The SCCS model with smooth (spline-based) exposure effect, for a single exposure. (Ghebremichael-Weldeselassie Y, Whitaker HJ, Farrington CP. Flexible modelling of vaccine effect in self-controlled case series models. Biometrical journal, 2016, 58(3): 607-622.)
  7. The full spline based SCCS model, for a single smoothed exposure and age effect together. (Ghebremichael-Weldeselassie Y, Whitaker HJ, Farrington CP. Spline-based self-controlled case series method. Statistics in Medicine, 2017, 36: 3022–3038. DOI: 10.1002/sim.7311)
It also includes the three data sets used in the tutorial paper, new data sets for our book 'Self-controlled case series studies: a modelling guide with R', a sample size calculator, a function for simulating data suitable for SCCS analyses and a function to reformat the data, ready to fit the model using clogit.

Previous versions (version 1.1, last updated 13/02/2018) have now been removed from this website. The latest package version is available from CRAN (labelled version 1.0 as at September 2018)

Data sets and script files from our book for use with the R package

All data sets used in the book 'Self-controlled case series studies: a modelling guide with R' can be downloaded as text files below (so can be imported into other software). The script files to run the analyses in R are also given.

midat.txt    midat.r

sidat.txt    sidat.r

rotdat.txt    rotdat.r

bupdat.txt    bupdat.r

opvdat.txt    opvdat.r

nrtdat.txt    nrtdat.r

rsvdat.txt    rsvdat.r

pmdat.txt    pmdat.r

bpdat.txt    bpdat.r

febdat.txt    febdat.r

amdat.txt    amdat.r

apdat.txt    apdat.r

condat.txt    condat.r

itpdat.txt    iptdat.r

intdat.txt    intdat.r

gbsdat.txt    gbsdat.r

autdat.txt    autdat.r

adidat.txt    adidat.r

hibdat.txt    hibdat.r

addat.txt    addat.r

dtpdat.txt    dtpdat.r

gidat.txt    gidat.r

hipdat.txt    hipdat.r

Simple examples for the tutorial paper

All script files were written by Heather Whitaker for R version 2.5.0 (free software available from http://www.r-project.org/). Please let us know if you have any suggestions for improving them.

MMR and meningitis in Oxford example

To run the MMR and meningitis in Oxford example detailed in the tutorial paper save these two files:

'ox.txt', the data in a tab-delimited text file.

'oxford.r', the commands in an r script file.

Open oxford.r and select 'run all' under the edit menu.

ITP and MMR example

'itp.r' fits the multiple risk periods example on p.1782-1783 of the tutorial paper.

'itp.txt', data

'itp.r', r script file

Intussusception and oral polio vaccine example

'intuss.r' fits analysis 5, repeat exposures example detailed on p.1787-1789 of the tutorial paper.

'intuss.txt', data

'intuss.r', r script file 

Using R for the self-controlled case series method

There are three ways in which we can fit the case series model after the data have been reformatted:

  1. Download the gnm package and use gnm to fit a conditional poisson regression model with eliminate = indiv (where indiv is a factor for each individual in the data set)
  2. Use the survival package (included in R 2.5.0, so no need to download) and use clogit to fit a logistic regression model with strata = event (where event is a factor for each event in the data set, rather than a factor for each individual). Here, we fit a conditional logistic regression model rather than a conditional poisson regression model: because recurrent events are assumed to be independent the conditional logistic likelihood is equivalent if each event is treated like a separate individual.
  3. Use the cyclops package. This is used by OHDSI (see below).

All examples on this webpage and our R package use clogit, therefore reformatted data to fit SCCS models looks a little different in R than in other packages.

OMOP/OHDSI R package

An R package, SelfControlledCaseSeries, for performing Self-Controlled Case Series (SCCS) analyses in an observational database in the OMOP Common Data Model, was created by Martijn Schuemie; available from the link below.


Vignette explaining how to use the package 

R package for the case series analysis for censored, perturbed or curtailed post event exposures

An R package, adSCCS, was written by Ronny Kuhnert (Robert Koch Institute, Berlin) to fit the extended self-controlled case series method for the situation when no exposure can occur after an event. This is the method outlined in the paper: Farrington, Whitaker and Hocine (2008). Case series analysis for censored, perturbed, or curtailed post-event exposures. Biostatistics, 10(1): 3-16.

adSCCS package version 1.5

adSCCS manual

This package does not work in the current version of R, and an alternative is available in the SCCS package.

The self-controlled case series method / Heather Whitaker / updated September 2018