Nothing
whiskerplot <- function(x,parameters,quantiles=c(0.025,0.975),
zeroline=TRUE, ...){
#Check input object class
check_class(x)
#Check parameters given
all_params <- param_names(x$samples)
parameters <- match_params(parameters, all_params)
if(is.null(parameters)){
stop("None of the provided parameters were found in the output")
}
#Check quantile argument
if((length(quantiles)!=2) | (quantiles[2] <= quantiles[1])){
stop("Incompatible quantile values provided")
}
#Calculate means and CIs
post_stats <- sapply(parameters,
function(i){
sims <- mcmc_to_mat(x$samples[, i])
c(mean(sims,na.rm=TRUE),
stats::quantile(sims,na.rm=TRUE,quantiles))
})
#Plot parameter means
n <- length(parameters)
graphics::plot(1:n, post_stats[1,], xaxt="n", type='n',
ylim=range(post_stats, na.rm=TRUE), xlim=c(0,n+1),
xlab="Parameters",
ylab=paste0('Parameter mean and quantiles (',quantiles[1],
' - ',quantiles[2],')'), ...)
for (i in 1:n){
if(any(is.na(post_stats[,i]))) next
graphics::points(i, post_stats[1,i], cex=1.5, pch=19)
}
graphics::axis(side=1, at=1:n, labels=parameters)
graphics::box()
#Draw line at zero
if(zeroline) graphics::abline(h=0)
#Draw error bars
wd <- (n+2)/40
graphics::segments(1:n, post_stats[2,], 1:n, post_stats[3,], lwd=2)
graphics::segments(1:n-wd, post_stats[2,], 1:n+wd, post_stats[2,])
graphics::segments(1:n-wd, post_stats[3,], 1:n+wd, post_stats[3,])
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.