plot_frq  R Documentation 
Plot frequencies of a variable as bar graph, histogram, box plot etc.
plot_frq(
data,
...,
title = "",
weight.by = NULL,
title.wtd.suffix = NULL,
sort.frq = c("none", "asc", "desc"),
type = c("bar", "dot", "histogram", "line", "density", "boxplot", "violin"),
geom.size = NULL,
geom.colors = "#336699",
errorbar.color = "darkred",
axis.title = NULL,
axis.labels = NULL,
xlim = NULL,
ylim = NULL,
wrap.title = 50,
wrap.labels = 20,
grid.breaks = NULL,
expand.grid = FALSE,
show.values = TRUE,
show.n = TRUE,
show.prc = TRUE,
show.axis.values = TRUE,
show.ci = FALSE,
show.na = FALSE,
show.mean = FALSE,
show.mean.val = TRUE,
show.sd = TRUE,
drop.empty = TRUE,
mean.line.type = 2,
mean.line.size = 0.5,
inner.box.width = 0.15,
inner.box.dotsize = 3,
normal.curve = FALSE,
normal.curve.color = "red",
normal.curve.size = 0.8,
normal.curve.alpha = 0.4,
auto.group = NULL,
coord.flip = FALSE,
vjust = "bottom",
hjust = "center",
y.offset = NULL
)
data 
A data frame, or a grouped data frame. 
... 
Optional, unquoted names of variables that should be selected for
further processing. Required, if 
title 
Character vector, used as plot title. By default,

weight.by 
Vector of weights that will be applied to weight all cases.
Must be a vector of same length as the input vector. Default is

title.wtd.suffix 
Suffix (as string) for the title, if 
sort.frq 
Determines whether categories should be sorted
according to their frequencies or not. Default is 
type 
Specifies the plot type. May be abbreviated.

geom.size 
size resp. width of the geoms (bar width, line thickness or point size, depending on plot type and function). Note that bar and bin widths mostly need smaller values than dot sizes. 
geom.colors 
User defined color for geoms, e.g. 
errorbar.color 
Color of confidence interval bars (error bars).
Only applies to 
axis.title 
Character vector of length one or two (depending on
the plot function and type), used as title(s) for the x and y axis.
If not specified, a default labelling is chosen.
Note: Some plot types do not support this argument. In such
cases, use the return value and add axis titles manually with

axis.labels 
character vector with labels used as axis labels. Optional argument, since in most cases, axis labels are set automatically. 
xlim 
Numeric vector of length two, defining lower and upper axis limits
of the x scale. By default, this argument is set to 
ylim 
numeric vector of length two, defining lower and upper axis limits
of the y scale. By default, this argument is set to 
wrap.title 
Numeric, determines how many chars of the plot title are displayed in one line and when a line break is inserted. 
wrap.labels 
numeric, determines how many chars of the value, variable or axis labels are displayed in one line and when a line break is inserted. 
grid.breaks 
numeric; sets the distance between breaks for the axis,
i.e. at every 
expand.grid 
logical, if 
show.values 
Logical, whether values should be plotted or not. 
show.n 
logical, if 
show.prc 
logical, if 
show.axis.values 
logical, whether category, count or percentage values for the axis should be printed or not. 
show.ci 
Logical, if 
show.na 
logical, if 
show.mean 
Logical, if 
show.mean.val 
Logical, if 
show.sd 
Logical, if 
drop.empty 
Logical, if 
mean.line.type 
Numeric value, indicating the linetype of the mean
intercept line. Only applies to histogramcharts and
when 
mean.line.size 
Numeric, size of the mean intercept line. Only
applies to histogramcharts and when 
inner.box.width 
width of the inner box plot that is plotted inside of violin plots. Only applies
if 
inner.box.dotsize 
size of mean dot insie a violin or box plot. Applies only
when 
normal.curve 
Logical, if 
normal.curve.color 
Color of the normal curve line. Only
applies if 
normal.curve.size 
Numeric, size of the normal curve line. Only
applies if 
normal.curve.alpha 
Transparancy level (alpha value) of the normal curve. Only
applies if 
auto.group 
numeric value, indicating the minimum amount of unique values
in the count variable, at which automatic grouping into smaller units
is done (see 
coord.flip 
logical, if 
vjust 
character vector, indicating the vertical position of value
labels. Allowed are same values as for 
hjust 
character vector, indicating the horizontal position of value
labels. Allowed are same values as for 
y.offset 
numeric, offset for text labels when their alignment is adjusted
to the top/bottom of the geom (see 
A ggplotobject.
This function only works with variables with integer values (or numeric factor levels), i.e. scales / centered variables with fractional part may result in unexpected behaviour.
library(sjlabelled)
data(efc)
data(iris)
# simple plots, two different notations
plot_frq(iris, Species)
plot_frq(efc$tot_sc_e)
# boxplot
plot_frq(efc$e17age, type = "box")
if (require("dplyr")) {
# histogram, pipeworkflow
efc %>%
dplyr::select(e17age, c160age) %>%
plot_frq(type = "hist", show.mean = TRUE)
# bar plot(s)
plot_frq(efc, e42dep, c172code)
}
if (require("dplyr") && require("gridExtra")) {
# grouped data frame, all panels in one plot
efc %>%
group_by(e42dep) %>%
plot_frq(c161sex) %>%
plot_grid()
}
library(sjmisc)
# grouped variable
ageGrp < group_var(efc$e17age)
ageGrpLab < group_labels(efc$e17age)
plot_frq(ageGrp, title = get_label(efc$e17age), axis.labels = ageGrpLab)
# plotting confidence intervals. expand grid and v/hjust for text labels
plot_frq(
efc$e15relat, type = "dot", show.ci = TRUE, sort.frq = "desc",
coord.flip = TRUE, expand.grid = TRUE, vjust = "bottom", hjust = "left"
)
# histogram with overlayed normal curve
plot_frq(efc$c160age, type = "h", show.mean = TRUE, show.mean.val = TRUE,
normal.curve = TRUE, show.sd = TRUE, normal.curve.color = "blue",
normal.curve.size = 3, ylim = c(0,50))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.