sjplot {sjPlot} | R Documentation |
Wrapper to create plots and tables within a pipe-workflow
Description
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.
Usage
sjplot(data, ..., fun = c("grpfrq", "xtab", "aov1", "likert"))
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'. |
fun |
Plotting function. Refers to the function name of sjPlot-functions. See 'Details' and 'Examples'. |
Details
Following fun
-values are currently supported:
"aov1"
calls
sjp.aov1
. The first two variables indata
are used (and required) to create the plot."grpfrq"
calls
plot_grpfrq
. The first two variables indata
are used (and required) to create the plot."likert"
calls
plot_likert
.data
must be a data frame with items to plot."stackfrq"
calls
tab_stackfrq
.data
must be a data frame with items to create the table."xtab"
calls
plot_xtab
ortab_xtab
. The first two variables indata
are used (and required) to create the plot or table.
Value
See related sjp. and sjt.-functions.
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)
# Grouped frequencies
efc %>% sjplot(e42dep, c172code, fun = "grpfrq")
# Grouped frequencies, as box plots
efc %>% sjplot(e17age, c172code, fun = "grpfrq",
type = "box", geom.colors = "Set1")
## 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
## End(Not run)