This function has a pipe-friendly argument-structure, with the first argument always being the data, followed by variables that should be plotted or printed as table. The function then transforms the input and calls the requested sjp.- resp. sjt.-function to create a plot or table.

Both sjplot() and sjtab() support grouped data frames.

sjplot(data, ..., fun = c("frq", "grpfrq", "xtab", "gpt", "scatter", "aov1",
"likert", "stackfrq"))

sjtab(data, ..., fun = c("xtab", "stackfrq"))

## Arguments

data A data frame. May also be a grouped data frame (see 'Note' and 'Examples'). Names of variables that should be plotted, and also further arguments passed down to the sjPlot-functions. See 'Examples'. Plotting function. Refers to the function name of sjPlot-functions. See 'Details' and 'Examples'.

## Value

See related sjp. and sjt.-functions.

## Details

Following fun-values are currently supported:

"aov1"

calls sjp.aov1. The first two variables in data are used (and required) to create the plot.

"frq"

calls sjp.frq. If data has more than one variable, a plot for each variable in data is plotted.

"gpt"

calls sjp.gpt. The first three variables in data are used (and required) to create the plot.

"grpfrq"

calls sjp.grpfrq. The first two variables in data are used (and required) to create the plot.

"likert"

calls sjp.likert. data must be a data frame with items to plot.

"scatter"

calls sjp.scatter. The first two variables in data are used (and required) to create the plot; if data also has a third variable, this is used as grouping- variable in sjp.scatter.

"stackfrq"

calls sjp.stackfrq or sjt.stackfrq. data must be a data frame with items to create the plot or table.

"xtab"

calls sjp.xtab or sjt.xtab. The first two variables in data are used (and required) to create the plot or table.

## Note

The ...-argument is used, first, to specify the variables from data that should be plotted, and, second, to name further arguments that are used in the subsequent plotting functions. Refer to the online-help of supported plotting-functions to see valid arguments.

data may also be a grouped data frame (see group_by) with up to two grouping variables. Plots are created for each subgroup then.

## Examples

library(dplyr)
data(efc)

# Frequency plot
sjplot(efc, e42dep, c172code, fun = "frq")
# Grouped frequencies
efc %>% sjplot(e42dep, c172code, fun = "grpfrq")
# Grouped frequencies, as box plots
efc %>% sjplot(e17age, c172code, fun = "grpfrq",
type = "box", geom.colors = "Set1")
# scatter plot, grouped
efc %>%
select(e42dep, c172code, c161sex) %>%
sjplot(fun = "scatter")#> auto-jittering values...
# frequencies, as plot grid
efc %>%
select(e42dep, c172code, e16sex, c161sex) %>%
sjplot() %>%
plot_grid()
# plot grouped data frame
efc %>%
group_by(e16sex, c172code) %>%
select(e42dep, e16sex, c172code) %>%
sjplot(wrap.title = 100) # no line break for subtitles
# NOT RUN {
# table output of grouped data frame
efc %>%
group_by(e16sex, c172code) %>%
select(e42dep, n4pstu, e16sex, c172code) %>%
sjtab(fun = "xtab", use.viewer = FALSE) # open all tables in browser
# }