Quantile-comparison plots
Usage
qqfun(
x,
distribution = "norm",
ylab = deparse(substitute(x)),
xlab = paste(distribution, "quantiles"),
main = NULL,
las = par("las"),
envelope = 0.95,
labels = FALSE,
col = palette()[4],
lcol = palette()[2],
xlim = NULL,
ylim = NULL,
lwd = 1,
pch = 1,
bg = palette()[4],
cex = 0.4,
line = c("quartiles", "robust", "none"),
...
)Arguments
- x
vector of numeric values.
- distribution
root name of comparison distribution – e.g.,
normfor the normal distribution;tfor the t-distribution.- ylab
label for vertical (empirical quantiles) axis.
- xlab
label for horizontal (comparison quantiles) axis.
- main
label for plot.
- las
if
0, ticks labels are drawn parallel to the axis; set to1for horizontal labels (seegraphics::par).- envelope
confidence level for point-wise confidence envelope, or
FALSEfor no envelope.- labels
vector of point labels for interactive point identification, or
FALSEfor no labels.- col
color for points; the default is the fourth entry in the current color palette (see
grDevices::paletteandgraphics::par).- lcol
color for lines; the default is the second entry as above.
- xlim
the x limits (x1, x2) of the plot. Note that x1 > x2 is allowed and leads to a reversed axis.
- ylim
the y limits of the plot.
- lwd
line width; default is
1(seegraphics::par). Confidence envelopes are drawn at half this line width.- pch
plotting character for points; default is
1(a circle, seegraphics::par).- bg
background color of points.
- cex
factor for expanding the size of plotted symbols; the default is
.4.- line
"quartiles"to pass a line through the quartile-pairs, or"robust"for a robust-regression line; the latter uses therlmfunction in theMASSpackage. Specifyingline = "none"suppresses the line.- ...
arguments such as
dfto be passed to the appropriate quantile function.
Details
Plots empirical quantiles of a variable against theoretical quantiles of a comparison distribution.
Draws theoretical quantile-comparison plots for variables and for studentized residuals from a linear model. A comparison line is drawn on the plot either through the quartiles of the two distributions, or by robust regression.
Any distribution for which quantile and density functions exist in R (with prefixes q and d, respectively) may be used. Studentized residuals are plotted against the appropriate t-distribution.
This is adapted from car::qq.plot with different values for points and lines, more options, more transparent code and examples in the current setting. Another similar but sophisticated function is lattice::qqmath.
References
Davison AC (2003). Statistical Models (Cambridge Series in Statistical and Probabilistic Mathematics). Cambridge University Press (2003-08-04). doi:10.1017/CBO9780511815850 . Leemis LM, McQueston JT (2008). “Univariate Distribution Relationships.” The American Statistician, 62(1), 45-53. doi:10.1198/000313008X270448 .
Examples
if (FALSE) { # \dontrun{
p <- runif(100)
alpha <- 1/log(10)
qqfun(p,distribution="unif")
qqfun(-log10(p),distribution="exp",rate=alpha,pch=21)
library(car)
qq.plot(p,dist="unif")
qq.plot(-log10(p),dist="exp",rate=alpha)
library(lattice)
qqmath(~ -log10(p), distribution=function(p) qexp(p,rate=alpha))
} # }