--- a
+++ b/overview/all-models.R
@@ -0,0 +1,74 @@
+models.include <-
+  c(
+    'age', 'cox', 'cox disc', 'cox imp', 'cox imp disc', 'rfsrc', 'rfsrc imp',
+    'rf-logrank', 'cox-logrank disc', 'cox-elnet disc'
+  )
+
+source('../lib/handy.R')
+requirePlus('ggplot2', 'cowplot')
+
+models.performance.all <- readTablePlus('../../output/models-performance-manual.tsv')
+
+models.performance.all$x.labels <-
+  paste0(
+    models.performance.all$model,
+    ifelse(models.performance.all$imputation, ' imp', ''),
+    ifelse(models.performance.all$discretised, ' disc', '')
+  )
+
+# Currently different scripts quote either the area under the curve or a pre
+# one-minused the area under the curve...so standardise that
+big.calibration.scores <- models.performance.all$calibration.score > 0.5
+models.performance.all[big.calibration.scores, c('calibration.score', 'calibration.score.lower', 'calibration.score.upper')] <-
+  1 - models.performance.all[big.calibration.scores, c('calibration.score', 'calibration.score.lower', 'calibration.score.upper')]
+
+models.performance <- data.frame()
+for(model in models.include) {
+  models.performance <-
+    rbind(
+      models.performance,
+      models.performance.all[models.performance.all$x.labels == model, ]
+    )
+}
+# Turn this into a factor with defined levels so ggplot respects the order above
+models.performance$x.labels <-
+  factor(models.performance$x.labels, levels = models.include)
+
+plot.c.index <-
+  ggplot(models.performance, aes(x = x.labels, y = c.index)) +
+  geom_bar(stat='identity', aes(fill = model)) +
+  geom_errorbar(
+    aes(ymin = c.index.lower, ymax = c.index.upper), width = 0.1
+  ) +
+  coord_cartesian(
+    ylim = c(0.75, 0.81)
+  ) +
+  theme(legend.position = "none")
+  
+plot.calibration <-
+  ggplot(models.performance, aes(x = x.labels, y = 1 - calibration.score)) +
+  geom_bar(stat='identity', aes(fill = model)) +
+  geom_errorbar(
+    aes(
+      ymin = 1 - calibration.score.lower, ymax = 1 - calibration.score.upper
+    ),
+    width = 0.1
+  ) +
+  coord_cartesian(
+    ylim = c(0.8, 1.0)
+  ) +
+  theme(legend.position = "none")
+
+plot_grid(
+  plot.c.index, plot.calibration,
+  labels = c("A", "B"),
+  align = "v", ncol = 1
+)
+
+ggsave(
+  '../../output/all-models-performance.pdf',
+  width = 16,
+  height = 10,
+  units = 'cm',
+  useDingbats = FALSE
+)