2

I'm trying to plot both the 95% credible intervals and the line for the 50% median on the same graph using output from the "mcp" package in R. I used the mcp package to model different residual scales (i.e., quasi emulate) for three segments with known breakpoints (2013 and 2017). However, I can't seem to fit both the CI and a line for the 50% median on the same plot using the q_fit from the model. I've included some sample code below. My end goal is to have a single segmented line representing the 50% quantile from the model with an upper and lower CI. I've included some sample data and code below, along with the to separate plots that I would like to combine.

year <-c(2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020)
counts <-c(40,50,200,50,20,30,15,12,10,12,12,200,1000,4000,6000,4500,5000,6000)

df <- data.frame(year,counts)


model = list(
  counts ~ 1 + year,        #segmented 1: Intercept and Slope
  ~ 0 + year + sigma (1),   #Segement 2: Joined slope (no intercept change)
  ~ 0 + year + sigma (1)    #Segment 3: Joined slope (no intercept change)
)

fit = mcp(model, df, prior = list(cp_1 = 2013, cp_2 = 2017))

plot(fit, q_fit = TRUE, cp_dens = FALSE, lines=50) #plot 95% CI


plot(fit, q_fit = c(0.5), cp_dens = FALSE, lines=50) #plot 50% quantile

First plot with 95% CI

50% quantile line

Joshua Smith
  • 125
  • 6

1 Answers1

0

You can plot an arbitrary number of quantiles if you supply them as a vector to q_fit:

plot(fit, q_fit = c(0.025, 0.5, 0.975), cp_dens = FALSE, lines=50)

enter image description here

Jonas Lindeløv
  • 5,442
  • 6
  • 31
  • 54