Data extracted from Medical Director
Source code and data can be found on Github
discuss <- as.tibble(read.csv('ResultsNotified.csv'))
head(discuss)
## # A tibble: 6 x 4
## Period ResultAge NotNotified Notified
## <fctr> <int> <int> <int>
## 1 Jul 2015 1 88 16
## 2 Jul 2015 2 79 35
## 3 Jul 2015 3 81 52
## 4 Jul 2015 4 30 45
## 5 Jul 2015 5 25 43
## 6 Jul 2015 6 36 51
Calculate proportion of results not notified and store in ProportionNotNotified.
discuss$ProportionNotNotified <- discuss$NotNotified/(discuss$Notified+discuss$NotNotified)
# insert some 'assumed' values, where no results are notified at the time of '0' weeks
discuss <- rbind(discuss, data.frame(Period = 'Jul 2015', NotNotified=NA, Notified=NA, ResultAge = 0, ProportionNotNotified = 1))
discuss <- rbind(discuss, data.frame(Period = 'Mar 2017', NotNotified=NA, Notified=NA, ResultAge = 0, ProportionNotNotified = 1))
discuss <- rbind(discuss, data.frame(Period = 'Jun 2017', NotNotified=NA, Notified=NA, ResultAge = 0, ProportionNotNotified = 1))
discuss <- rbind(discuss, data.frame(Period = 'Sep 2017', NotNotified=NA, Notified=NA, ResultAge = 0, ProportionNotNotified = 1))
discuss <- discuss %>%
arrange(ResultAge)
Including fitted localized regression line (Loess), with 1.96 * Standard error (95% confidence interval) ribbons.
m <- augment(loess(ProportionNotNotified ~ ResultAge,
data = discuss))
discuss %>%
plot_ly(x=~ResultAge, y=~ProportionNotNotified, color=discuss$Period, opacity=0.25,
type='scatter', mode='lines') %>%
add_lines(y = ~fitted(loess(ProportionNotNotified ~ ResultAge)),
line = list(color = 'rgba(7,164,181,1)'),
showlegend = FALSE) %>%
add_ribbons(data = m,
x = ~ResultAge,
ymin = ~.fitted - 1.96 * .se.fit,
ymax = ~.fitted + 1.96 * .se.fit,
line = list(color = 'rgba(7,164,181,0.05)'),
fillcolor = 'rgba(7,164,181,0.2)',
showlegend = FALSE) %>%
layout(title = "Proportion of Results not Notified
(Results having been marked 'Discuss')
coHealth Kensington, 2015-2017",
xaxis = list(title = 'Age of result in weeks'),
yaxis = list(title = 'Proportion of results not notified',
range = c(0,1)))