Visualize goodness of fit of regression models by Quantile-Quantile (Q-Q) plots using quantile residuals. If plot = TRUE, the resulting object of class “qqrplot” is plotted by plot.qqrplot or autoplot.qqrplot before it is returned, depending on whether the package ggplot2 is loaded.
an object from which probability integral transforms can be extracted using the generic function procast.
newdata
an optional data frame in which to look for variables with which to predict. If omitted, the original observations are used.
plot
logical or character. Should the plot or autoplot method be called to draw the computed Q-Q plot? Logical FALSE will suppress plotting, TRUE (default) will choose the type of plot conditional if the package ggplot2 is loaded. Alternatively “base” or “ggplot2” can be specified to explicitly choose the type of plot.
class
should the invisible return value be either a data.frame or a tibble. Either set class expicitly to “data.frame” vs. “tibble”, or for NULL it’s chosen automatically conditional if the package tibble is loaded.
detrend
logical, defaults to FALSE. Should the qqrplot be detrended, i.e, plotted as a wormplot?
scale
character. On which scale should the quantile residuals be shown: on the probability scale (“uniform”) or on the normal scale (“normal”).
nsim, delta
arguments passed to proresiduals.
simint
logical. In case of discrete distributions, should the simulation (confidence) interval due to the randomization be visualized?
simint_level
numeric. The confidence level required for calculating the simulation (confidence) interval due to the randomization.
simint_nrep
numeric (positive; default 250). The number of repetitions of simulated quantiles for calculating the simulation (confidence) interval due to the randomization.
confint
logical or character describing the style for plotting confidence intervals. TRUE (default) and “line” will add point-wise confidence intervals of the (randomized) quantile residuals as lines, “polygon” will draw a polygon instead, and FALSE suppresses the drawing.
ref
logical, defaults to TRUE. Should a reference line be plotted?
xlab, ylab, main, …
graphical parameters passed to plot.qqrplot or autoplot.qqrplot.
Details
Q-Q residuals plots draw quantile residuals (by default on the standard normal scale) against theoretical quantiles from the same distribution. Alternatively, quantile residuals can also be compared on the uniform scale (scale = “uniform”) using no transformation. For computation, qqrplot leverages the function proresiduals employing the procast generic.
Additional options are offered for models with discrete responses where randomization of quantiles is needed.
In addition to the plot and autoplot method for qqrplot objects, it is also possible to combine two (or more) Q-Q residuals plots by c/rbind, which creates a set of Q-Q residuals plots that can then be plotted in one go.
Value
An object of class “qqrplot” inheriting from “data.frame” or “tibble” conditional on the argument class with the following variables:
observed
deviations between theoretical and empirical quantiles,
expected
theoretical quantiles,
simint_observed_lwr
lower bound of the simulated confidence interval,
simint_observed_upr
upper bound of the simulated confidence interval,
simint_expected
TODO: (ML) Description missing.
In case of nsim > 1, a set of nsim pairs of observed and expected quantiles are returned (observed_1, expected_1, … observed_nsim, observed_nsim) is returned.
The “qqrplot” also contains additional attributes xlab, ylab, main, simint_level, scale, and detrended used to create the plot.
References
Dunn KP, Smyth GK (1996). “Randomized Quantile Residuals.” Journal of Computational and Graphical Statistics, 5(3), 236–244. doi:10.2307/1390802
See Also
plot.qqrplot, wormplot, proresiduals, qqnorm
Examples
library("topmodels")## speed and stopping distances of carsm1_lm<-lm(dist~speed, data =cars)## compute and plot qqrplotqqrplot(m1_lm)#-------------------------------------------------------------------------------## determinants for male satellites to nesting horseshoe crabsdata("CrabSatellites", package ="countreg")## linear poisson modelm1_pois<-glm(satellites~width+color, data =CrabSatellites, family =poisson)m2_pois<-glm(satellites~color, data =CrabSatellites, family =poisson)## compute and plot qqrplot as base graphicq1<-qqrplot(m1_pois, plot =FALSE)q2<-qqrplot(m2_pois, plot =FALSE)## plot combined qqrplot as "ggplot2" graphicggplot2::autoplot(c(q1, q2), single_graph =TRUE, col =c(1, 2), fill =c(1, 2))
## Use different `scale`s with confidence intervalsqqrplot(m1_pois, scale ="uniform")