| ggbarstats {ggstatsplot} | R Documentation | 
Stacked bar charts with statistical tests
Description
Bar charts for categorical data with statistical details included in the plot as a subtitle.
Usage
ggbarstats(
  data,
  x,
  y,
  counts = NULL,
  type = "parametric",
  paired = FALSE,
  results.subtitle = TRUE,
  label = "percentage",
  label.args = list(alpha = 1, fill = "white"),
  sample.size.label.args = list(size = 4),
  digits = 2L,
  proportion.test = results.subtitle,
  digits.perc = 0L,
  bf.message = TRUE,
  ratio = NULL,
  conf.level = 0.95,
  sampling.plan = "indepMulti",
  fixed.margin = "rows",
  prior.concentration = 1,
  title = NULL,
  subtitle = NULL,
  caption = NULL,
  legend.title = NULL,
  xlab = NULL,
  ylab = NULL,
  ggtheme = ggstatsplot::theme_ggstatsplot(),
  package = "RColorBrewer",
  palette = "Dark2",
  ggplot.component = NULL,
  ...
)
Arguments
| data | A data frame (or a tibble) from which variables specified are to
be taken. Other data types (e.g., matrix,table, array, etc.) will not
be accepted. Additionally, grouped data frames from  | 
| x | The variable to use as the rows in the contingency table. Please note that if there are empty factor levels in your variable, they will be dropped. | 
| y | The variable to use as the columns in the contingency table.
Please note that if there are empty factor levels in your variable, they
will be dropped. Default is  | 
| counts | The variable in data containing counts, or  | 
| type | A character specifying the type of statistical approach: 
 You can specify just the initial letter. | 
| paired | Logical indicating whether data came from a within-subjects or
repeated measures design study (Default:  | 
| results.subtitle | Decides whether the results of statistical tests are
to be displayed as a subtitle (Default:  | 
| label | Character decides what information needs to be displayed
on the label in each pie slice. Possible options are  | 
| label.args | Additional aesthetic arguments that will be passed to
 | 
| sample.size.label.args | Additional aesthetic arguments that will be passed to
 | 
| digits | Number of digits for rounding or significant figures. May also
be  | 
| proportion.test | Decides whether proportion test for  | 
| digits.perc | Numeric that decides number of decimal places for percentage
labels (Default:  | 
| bf.message | Logical that decides whether to display Bayes Factor in
favor of the null hypothesis. This argument is relevant only for
parametric test (Default:  | 
| ratio | A vector of proportions: the expected proportions for the
proportion test (should sum to  | 
| conf.level | Scalar between  | 
| sampling.plan | Character describing the sampling plan. Possible options
are  | 
| fixed.margin | For the independent multinomial sampling plan, which
margin is fixed ( | 
| prior.concentration | Specifies the prior concentration parameter, set
to  | 
| title | The text for the plot title. | 
| subtitle | The text for the plot subtitle. Will work only if
 | 
| caption | The text for the plot caption. This argument is relevant only
if  | 
| legend.title | Title text for the legend. | 
| xlab | Label for  | 
| ylab | Labels for  | 
| ggtheme | A  | 
| package,palette | Name of the package from which the given palette is to
be extracted. The available palettes and packages can be checked by running
 | 
| ggplot.component | A  | 
| ... | Currently ignored. | 
Details
For details, see: https://indrajeetpatil.github.io/ggstatsplot/articles/web_only/ggpiestats.html
Summary of graphics
| graphical element | geomused | argument for further modification | 
| bars | ggplot2::geom_bar() | NA | 
| descriptive labels | ggplot2::geom_label() | label.args | 
| sample size labels | ggplot2::geom_text() | sample.size.label.args | 
Contingency table analyses
The table below provides summary about:
- statistical test carried out for inferential statistics 
- type of effect size estimate and a measure of uncertainty for this estimate 
- functions used internally to compute these details 
two-way table
Hypothesis testing
| Type | Design | Test | Function used | 
| Parametric/Non-parametric | Unpaired | Pearson's chi-squared test | stats::chisq.test() | 
| Bayesian | Unpaired | Bayesian Pearson's chi-squared test | BayesFactor::contingencyTableBF() | 
| Parametric/Non-parametric | Paired | McNemar's chi-squared test | stats::mcnemar.test() | 
| Bayesian | Paired | No | No | 
Effect size estimation
| Type | Design | Effect size | CI available? | Function used | 
| Parametric/Non-parametric | Unpaired | Cramer's V | Yes | effectsize::cramers_v() | 
| Bayesian | Unpaired | Cramer's V | Yes | effectsize::cramers_v() | 
| Parametric/Non-parametric | Paired | Cohen's g | Yes | effectsize::cohens_g() | 
| Bayesian | Paired | No | No | No | 
one-way table
Hypothesis testing
| Type | Test | Function used | 
| Parametric/Non-parametric | Goodness of fit chi-squared test | stats::chisq.test() | 
| Bayesian | Bayesian Goodness of fit chi-squared test | (custom) | 
Effect size estimation
| Type | Effect size | CI available? | Function used | 
| Parametric/Non-parametric | Pearson's C | Yes | effectsize::pearsons_c() | 
| Bayesian | No | No | No | 
See Also
grouped_ggbarstats, ggpiestats,
grouped_ggpiestats
Examples
# for reproducibility
set.seed(123)
# creating a plot
p <- ggbarstats(mtcars, x = vs, y = cyl)
# looking at the plot
p
# extracting details from statistical tests
extract_stats(p)