Draw quantile-Quantile plots of a sample against a theoretical distribution, possibly conditioned on other variables.
qqmath(x, data, ...)# S3 method for formula
qqmath(x,
data,
allow.multiple = is.null(groups) || outer,
outer = !is.null(groups),
distribution = qnorm,
f.value = NULL,
auto.key = lattice.getOption("default.args")$auto.key,
aspect = "fill",
panel = lattice.getOption("panel.qqmath"),
prepanel = NULL,
scales, strip, groups,
xlab, xlim, ylab, ylim,
drop.unused.levels = lattice.getOption("drop.unused.levels"),
...,
lattice.options = NULL,
default.scales = list(),
default.prepanel = lattice.getOption("prepanel.default.qqmath"),
subscripts,
subset)
# S3 method for data.frame
qqmath(x, data = NULL, formula = data, ...)
# S3 method for numeric
qqmath(x, data = NULL, ylab, ...)
An object of class "trellis"
. The
update
method can be used to
update components of the object and the
print
method (usually called by
default) will plot it on an appropriate plotting device.
The object on which method dispatch is carried out.
For the "formula"
method, x
should be a formula of the
form ~ x | g1 * g2 * ...
, where x
should be a
numeric variable. For the "numeric"
method, x
should
be a numeric vector.
For the formula
method, an optional data source (usually a
data frame) in which variables are to be evaluated (see
xyplot
for details). data
should not be
specified for the other methods, and is ignored with a warning if it
is.
The formula to be used for the "data.frame"
methods. See
documentation for argument x
for details.
A quantile function that takes a vector of probabilities as argument
and produces the corresponding quantiles from a theoretical
distribution. Possible values are qnorm
,
qunif
, etc. Distributions with other required
arguments need to be provided as user-defined functions (see example
with qt
).
An optional numeric vector of probabilities, quantiles corresponding
to which should be plotted. This can also be a function of a single
integer (representing sample size) that returns such a numeric
vector. A typical value for this argument is the function
ppoints
, which is also the S-PLUS default. If specified, the
probabilities generated by this function is used for the plotted
quantiles, through the quantile
function for the
sample, and the function specified as the distribution
argument for the theoretical distribution.
f.value
defaults to NULL
, which has the effect of
using ppoints
for the quantiles of the theoretical
distribution, but the exact data values for the sample. This is
similar to what happens for qqnorm
, but different from the
S-PLUS default of f.value=ppoints
.
For large x
, this argument can be used to restrict the number
of points plotted. See also the tails.n
argument in
panel.qqmath
.
A function, called once for each panel, that uses the packet (subset
of panel variables) corresponding to the panel to create a display.
The default panel function panel.qqmath
is documented
separately, and has arguments that can be used to customize its
output in various ways. Such arguments can usually be directly
supplied to the high-level function.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
See xyplot
.
Fallback prepanel function. See xyplot
.
Further arguments. See corresponding entry in xyplot
for non-trivial details.
Deepayan Sarkar Deepayan.Sarkar@R-project.org
qqmath
produces Q-Q plots of the given sample against a
theoretical distribution. The default behaviour of qqmath
is
different from the corresponding S-PLUS function, but is similar to
qqnorm
. See the entry for f.value
for specifics.
The implementation details are also different from S-PLUS. In
particular, all the important calculations are done by the panel (and
prepanel function) and not qqmath
itself. In fact, both the
arguments distribution
and f.value
are passed unchanged
to the panel and prepanel function. This allows, among other things,
display of grouped Q-Q plots, which are often useful. See the help
page for panel.qqmath
for further details.
This and all other high level Trellis functions have several arguments
in common. These are extensively documented only in the help page for
xyplot
, which should be consulted to learn more detailed
usage.
xyplot
, panel.qqmath
,
panel.qqmathline
, prepanel.qqmathline
,
Lattice
, quantile
qqmath(~ rnorm(100), distribution = function(p) qt(p, df = 10))
qqmath(~ height | voice.part, aspect = "xy", data = singer,
prepanel = prepanel.qqmathline,
panel = function(x, ...) {
panel.qqmathline(x, ...)
panel.qqmath(x, ...)
})
vp.comb <-
factor(sapply(strsplit(as.character(singer$voice.part), split = " "),
"[", 1),
levels = c("Bass", "Tenor", "Alto", "Soprano"))
vp.group <-
factor(sapply(strsplit(as.character(singer$voice.part), split = " "),
"[", 2))
qqmath(~ height | vp.comb, data = singer,
groups = vp.group, auto.key = list(space = "right"),
aspect = "xy",
prepanel = prepanel.qqmathline,
panel = function(x, ...) {
panel.qqmathline(x, ...)
panel.qqmath(x, ...)
})
Run the code above in your browser using DataLab