Learn R Programming

sjPlot (version 1.7)

sjp.frq: Plot frequencies of (count) variables

Description

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

Usage

sjp.frq(varCount, title = "", weightBy = NULL, weightByTitleString = NULL,
  interactionVar = NULL, sort.frq = "none", type = "bars",
  geom.size = 0.7, geom.colors = NULL, axisLabels.x = NULL,
  interactionVarLabels = 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 <- read_spss("efc.sav", enc="UTF-8")
# ---------------
data(efc)
efc.val <- get_val_labels(efc)
efc.var <- get_var_labels(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
# -------------------------------------------------
efc <- set_var_labels(efc, get_var_labels(efc))

# 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",
        geom.size = 3,
        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