Many of the PPC functions in bayesplot can
be used with discrete data. The small subset of these functions that can
only be used if y
and yrep
are discrete are documented
on this page. Currently these include rootograms for count outcomes and bar
plots for ordinal, categorical, and multinomial outcomes. See the
Plot Descriptions section below.
ppc_bars( y, yrep, ..., prob = 0.9, width = 0.9, size = 1, fatten = 3, freq = TRUE ) ppc_bars_grouped( y, yrep, group, ..., facet_args = list(), prob = 0.9, width = 0.9, size = 1, fatten = 3, freq = TRUE ) ppc_rootogram( y, yrep, style = c("standing", "hanging", "suspended"), ..., prob = 0.9, size = 1 )
y  A vector of observations. See Details. 

yrep  An \(S\) by \(N\) matrix of draws from the posterior
predictive distribution, where \(S\) is the size of the posterior sample
(or subset of the posterior sample used to generate 
...  Currently unused. 
prob  A value between 
width  For 
size, fatten  For 
freq  For 
group  A grouping variable (a vector or factor) the same length as

facet_args  An optional list of arguments (other than 
style  For 
A ggplot object that can be further customized using the ggplot2 package.
For all of these plots y
and yrep
must be integers, although
they need not be integers in the strict sense of R's
integer type. For rootogram plots y
and yrep
must also
be nonnegative.
ppc_bars()
Bar plot of y
with yrep
medians and uncertainty intervals
superimposed on the bars.
ppc_bars_grouped()
Same as ppc_bars()
but a separate plot (facet) is generated for each
level of a grouping variable.
ppc_rootogram()
Rootograms allow for diagnosing problems in count data models such as
overdispersion or excess zeros. They consist of a histogram of y
with the
expected counts based on yrep
overlaid as a line along with uncertainty
intervals. The yaxis represents the square roots of the counts to
approximately adjust for scale differences and thus ease comparison between
observed and expected counts. Using the style
argument, the histogram
style can be adjusted to focus on different aspects of the data:
Standing: basic histogram of observed counts with curve showing expected counts.
Hanging: observed counts counts hanging from the curve representing expected counts.
Suspended: histogram of the differences between expected and observed counts.
Kleiber, C. and Zeileis, A. (2016). Visualizing count data regressions using rootograms. The American Statistician. 70(3): 296303. https://arxiv.org/abs/1605.01311.
Other PPCs:
PPCdistributions
,
PPCerrors
,
PPCintervals
,
PPCloo
,
PPCoverview
,
PPCscatterplots
,
PPCteststatistics
set.seed(9222017) # bar plots f < function(N) { sample(1:4, size = N, replace = TRUE, prob = c(0.25, 0.4, 0.1, 0.25)) } y < f(100) yrep < t(replicate(500, f(100))) dim(yrep)#> [1] 500 100group < gl(2, 50, length = 100, labels = c("GroupA", "GroupB")) color_scheme_set("mixpinkblue") ppc_bars(y, yrep)# split by group, change interval width, and display proportion # instead of count on yaxis color_scheme_set("mixbluepink") ppc_bars_grouped(y, yrep, group, prob = 0.5, freq = FALSE)# rootograms for counts y < rpois(100, 20) yrep < matrix(rpois(10000, 20), ncol = 100) color_scheme_set("brightblue") ppc_rootogram(y, yrep)ppc_rootogram(y, yrep, prob = 0)ppc_rootogram(y, yrep, style = "hanging", prob = 0.8)ppc_rootogram(y, yrep, style = "suspended")