Nothing
#' @title Easy normality check per group
#'
#' @description Easily make nice per-group density and QQ plots
#' through a wrapper around the `ggplot2` and `qqplotr` packages.
#'
#' @param data The data frame.
#' @param variable The dependent variable to be plotted.
#' @param group The group by which to plot the variable.
#' @param colours Desired colours for the plot, if desired.
#' @param groups.labels How to label the groups.
#' @param grid Logical, whether to keep the default background grid
#' or not. APA style suggests not using a grid in the background,
#' though in this case some may find it useful to more easily
#' estimate the slopes of the different groups.
#' @param shapiro Logical, whether to include the p-value from
#' the Shapiro-Wilk test on the plot.
#' @param title An optional title, if desired.
#' @param histogram Logical, whether to add an histogram
#' on top of the density plot.
#' @param breaks.auto If histogram = TRUE, then option to set bins/breaks
#' automatically, mimicking the default behaviour of
#' base R `hist()` (the Sturges method). Defaults to
#' `FALSE`.
#' @param ... Further arguments from [nice_qq()] and
#' [nice_density()] to be passed to [nice_normality()]
#'
#' @return A plot of classes patchwork and ggplot, containing two plots,
#' resulting from \code{\link{nice_density}} and \code{\link{nice_qq}}.
#' @keywords QQ plots normality density distribution
#' @export
#' @examplesIf requireNamespace("ggplot2", quietly = TRUE) && requireNamespace("see", quietly = TRUE) && requireNamespace("patchwork", quietly = TRUE)
#' # Make the basic plot
#' nice_normality(
#' data = iris,
#' variable = "Sepal.Length",
#' group = "Species"
#' )
#'
#' # Further customization
#' nice_normality(
#' data = iris,
#' variable = "Sepal.Length",
#' group = "Species",
#' colours = c(
#' "#00BA38",
#' "#619CFF",
#' "#F8766D"
#' ),
#' groups.labels = c(
#' "(a) Setosa",
#' "(b) Versicolor",
#' "(c) Virginica"
#' ),
#' grid = FALSE,
#' shapiro = TRUE
#' )
#'
#' @seealso
#' Other functions useful in assumption testing:
#' \code{\link{nice_assumptions}}, \code{\link{nice_density}},
#' \code{\link{nice_qq}}, \code{\link{nice_var}},
#' \code{\link{nice_varplot}}. Tutorial:
#' \url{https://rempsyc.remi-theriault.com/articles/assumptions}
#'
nice_normality <- function(data,
variable,
group = NULL,
colours,
groups.labels,
grid = TRUE,
shapiro = FALSE,
title = NULL,
histogram = FALSE,
breaks.auto = FALSE,
...) {
check_col_names(data, c(group, variable))
rlang::check_installed(c("ggplot2", "see", "patchwork"),
version = c("3.4.0", NA, NA),
reason = "for this function."
)
plot.a <- nice_density(
data = data, variable = variable, group = group,
colours = colours, groups.labels = groups.labels,
grid = grid, shapiro = shapiro, title = title,
histogram = histogram, breaks.auto = breaks.auto, ...
)
plot.a
plot.b <- nice_qq(
data = data, variable = variable, group = group,
colours = colours, groups.labels = groups.labels,
grid = grid, shapiro = shapiro, title = NULL, ...
)
see::plots(plot.a, plot.b)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.