PlotXTabs2 {CGPfunctions} | R Documentation |
Bivariate bar (column) charts with statistical tests
Description
Bivariate bar charts for nominal and ordinal data with (optionally) statistical details included in the plot as a subtitle.
Usage
PlotXTabs2(
data,
x,
y,
counts = NULL,
results.subtitle = TRUE,
title = NULL,
subtitle = NULL,
caption = NULL,
plottype = "percent",
xlab = NULL,
ylab = "Percent",
legend.title = NULL,
legend.position = "right",
labels.legend = NULL,
sample.size.label = TRUE,
data.label = "percentage",
label.text.size = 4,
label.fill.color = "white",
label.fill.alpha = 1,
bar.outline.color = "black",
x.axis.orientation = NULL,
conf.level = 0.95,
k = 2,
perc.k = 0,
mosaic.offset = 0.003,
mosaic.alpha = 1,
bf.details = FALSE,
bf.display = "regular",
sampling.plan = "jointMulti",
fixed.margin = "rows",
prior.concentration = 1,
paired = FALSE,
ggtheme = ggplot2::theme_bw(),
package = "RColorBrewer",
palette = "Dark2",
direction = 1,
ggplot.component = NULL
)
Arguments
data |
A dataframe or tibble containing the 'x' and 'y' variables. |
x |
The variable to plot on the X axis of the chart. |
y |
The variable to segment the **columns** and test for independence. |
counts |
If the dataframe is based upon counts rather than individual rows for observations, 'counts' must contain the name of variable that contains the counts. See 'HairEyeColor' example. |
results.subtitle |
Decides whether the results of statistical tests are displayed as a subtitle (Default: TRUE). If set to FALSE, no subtitle. |
title |
The text for the plot title. |
subtitle |
The text for the plot subtitle. **N.B** if statistical results are requested through 'results.subtitle = TRUE' the results will have precedence. |
caption |
The text for the plot caption. Please note the interaction with 'bf.details'. |
plottype |
one of four options "side", "stack", "mosaic" or "percent" |
xlab |
Custom text for the 'x' axis label (Default: 'NULL', which will cause the 'x' axis label to be the 'x' variable). |
ylab |
Custom text for the 'y' axis label (Default: '"Percent"'). Set to 'NULL' for no label. |
legend.title |
Title text for the legend. |
legend.position |
The position of the legend '"none"', '"left"', '"right"', '"bottom"', '"top"' (Default: '"right"'). |
labels.legend |
A character vector with custom labels for levels of the 'y' variable displayed in the legend. |
sample.size.label |
Logical that decides whether sample size information should be displayed for each level of the grouping variable 'y' (Default: 'TRUE'). |
data.label |
Character decides what information needs to be displayed on the label in each bar segment. Possible options are '"percentage"' (default), '"counts"', '"both"'. |
label.text.size |
Numeric that decides size for bar labels (Default: '4'). |
label.fill.color |
Character that specifies fill color for bar labels (Default: 'white'). |
label.fill.alpha |
Numeric that specifies fill color transparency or '"alpha"' for bar labels (Default: '1' range '0' to '1'). |
bar.outline.color |
Character specifying color for bars (default: '"black"'). |
x.axis.orientation |
The orientation of the 'x' axis labels one of "slant" or "vertical" to change from the default horizontal orientation (Default: 'NULL' which is horizontal). |
conf.level |
Scalar between 0 and 1. If unspecified, the defaults return lower and upper confidence intervals (0.95). |
k |
Number of digits after decimal point (should be an integer) (Default: k = 2) for statistical results. |
perc.k |
Numeric that decides number of decimal places for percentage labels (Default: '0'). |
mosaic.offset |
Numeric that decides size of spacing between mosaic blocks (Default: '.003' which is very narrow). "reasonable" values probably lie between .05 and .001 |
mosaic.alpha |
Numeric that controls the "alpha" level of the mosaic plot blocks (Default: '1' which is essentially no "fading"). Values must be in the range 0 to 1 see: 'ggplot2::aes_colour_fill_alpha' |
bf.details |
Logical that decides whether to display additional information from the Bayes Factor test in the caption (default:'FALSE'). This will take precedence over any text you enter as a 'caption'. |
bf.display |
Character that determines how the Bayes factor value is is displayed. The default is simply the number rounded to 'k'. Other options include "sensible", "log" and "support". |
sampling.plan |
the sampling plan (see details in ?contingencyTableBF). |
fixed.margin |
(see details in ?contingencyTableBF). |
prior.concentration |
(see details in ?contingencyTableBF). |
paired |
Not used yet. |
ggtheme |
A function, ggplot2 theme name. Default value is ggplot2::theme_bw(). Any of the ggplot2 themes, or themes from extension packages are allowed (e.g., hrbrthemes::theme_ipsum(), etc.). |
package |
Name of package from which the palette is desired as string or symbol. |
palette |
Name of palette as string or symbol. |
direction |
Either '1' or '-1'. If '-1' the palette will be reversed. |
ggplot.component |
A ggplot component to be added to the plot prepared by ggstatsplot. Default is NULL. The argument should be entered as a function. If the given function has an argument axes.range.restrict and if it has been set to TRUE, the added ggplot component might not work as expected. |
Author(s)
Chuck Powell, Indrajeet Patil
Examples
# for reproducibility
set.seed(123)
# simplest possible call with the defaults
PlotXTabs2(
data = mtcars,
y = vs,
x = cyl
)
# more complex call
PlotXTabs2(
data = datasets::mtcars,
y = vs,
x = cyl,
bf.details = TRUE,
labels.legend = c("0 = V-shaped", "1 = straight"),
legend.title = "Engine Style",
legend.position = "right",
title = "The perenial mtcars example",
palette = "Pastel1"
)
PlotXTabs2(
data = as.data.frame(HairEyeColor),
y = Eye,
x = Hair,
counts = Freq
)
## Not run:
# mosaic plot requires ggmosaic 0.2.2 or higher from github
PlotXTabs2(
data = mtcars,
x = vs,
y = am,
plottype = "mosaic",
data.label = "both",
mosaic.alpha = .9,
bf.display = "support",
title = "Motorcars Mosaic Plot VS by AM"
)
## End(Not run)