Learn R Programming

sjPlot (version 1.8.3)

sjp.frq: Plot frequencies of (count) variables

Description

Plot frequencies of a (count) variable as bar graph, histogram, box plot etc.

Usage

sjp.frq(varCount, title = "", weightBy = NULL, weightByTitleString = NULL,
  interactionVar = NULL, sort.frq = "none", type = "bars",
  geom.size = NULL, geom.colors = NULL, axisLabels.x = NULL,
  interactionVarLabels = NULL, axisLimits.x = NULL, axisLimits.y = NULL,
  breakTitleAt = 50, breakLabelsAt = 20, gridBreaksAt = NULL,
  innerBoxPlotWidth = 0.15, innerBoxPlotDotSize = 3, expand.grid = FALSE,
  showValueLabels = TRUE, showCountValues = TRUE,
  showPercentageValues = TRUE, showAxisLabels.x = TRUE,
  showAxisLabels.y = TRUE, showCI = FALSE, error.bar.color = "darkred",
  showMeanIntercept = FALSE, showMeanValue = TRUE,
  showStandardDeviation = TRUE, showNormalCurve = FALSE,
  showStandardNormalCurve = FALSE, adjustNormalCurve.x = FALSE,
  meanInterceptLineType = 2, meanInterceptLineSize = 0.5,
  normalCurveColor = "red", normalCurveSize = 0.8, normalCurveAlpha = 0.4,
  axisTitle.x = NULL, axisTitle.y = NULL, startAxisAt = "auto",
  hist.skipZeros = FALSE, autoGroupAt = NULL, coord.flip = FALSE,
  labelPos = "outside", na.rm = TRUE, printPlot = TRUE)

Arguments

Value

(Insisibily) returns the ggplot-object with the complete plot (plot) as well as the data frame that was used for setting up the ggplot-object (mydf).

See Also

  • http://www.strengejacke.de/sjPlot/sjp.frq/{sjPlot manual: sjp.frq}
  • sjt.frq

Examples

Run this code
# ---------------
# boxplot
# ---------------
sjp.frq(ChickWeight$weight, type = "box")

# ---------------
# histogram
# ---------------
sjp.frq(discoveries, type = "hist", showMeanIntercept = TRUE)
# histogram with minimal theme and w/o labels
sjp.frq(discoveries, type = "hist",
        showMeanIntercept = TRUE,
        showValueLabels = FALSE)

# ---------------
# violin plot
# ---------------
sjp.frq(ChickWeight$weight, type = "v")

# ---------------
# bar plot
# ---------------
sjp.frq(ChickWeight$Diet)

# ---------------
# bar plot with EUROFAMCARE sample dataset
# dataset was importet from an SPSS-file, using:
# efc <- sjmisc::read_spss("efc.sav", enc = "UTF-8")
# ---------------
library(sjmisc)
data(efc)
efc.val <- get_labels(efc)
efc.var <- get_label(efc)
# you may use sjp.setTheme here to change axis textangle
sjp.frq(as.factor(efc$e15relat),
        title = efc.var[['e15relat']],
        axisLabels.x = efc.val['e15relat'])

# bar plot with EUROFAMCARE sample dataset
# grouped variable
ageGrp <- group_var(efc$e17age)
ageGrpLab <- group_labels(efc$e17age)
sjp.frq(ageGrp,
        title = efc.var[['e17age']],
        axisLabels.x = ageGrpLab)

# ---------------
# box plots with interaction variable
# the following example is equal to the function call
# sjp.grpfrq(efc$e17age, efc$e16sex, type = "box")
# ---------------
sjp.frq(efc$e17age,
        title = paste(efc.var[['e17age']],
                      "by",
                      efc.var[['e16sex']]),
        interactionVar = efc$e16sex,
        interactionVarLabels = efc.val['e16sex'],
        type = "box")

# -------------------------------------------------
# auto-detection of value labels and variable names
# -------------------------------------------------
# negative impact scale, ranging from 7-28, assuming that
# variable scale (lowest value) starts with 1
sjp.frq(efc$neg_c_7, startAxisAt = 1)

# negative impact scale, ranging from 7-28, using
# automatic detection of start index of x-axis
sjp.frq(efc$neg_c_7)

# -------------------------------------------------
# plotting confidence intervals
# -------------------------------------------------
sjp.frq(efc$e15relat,
        type = "dots",
        showCI = TRUE,
        sort.frq = "desc",
        coord.flip = TRUE)

# -------------------------------------------------
# Simulate ggplot-default histogram, using "hist.skipZeros"
# and adjusted "geom.size".
# -------------------------------------------------
sjp.frq(efc$c160age,
        type = "h",
        hist.skipZeros = TRUE,
        geom.size = 1)

Run the code above in your browser using DataLab