# Q-Q Plot with Theoretical Distribution

### Description

Draw quantile-Quantile plots of a sample against a theoretical distribution, possibly conditioned on other variables.

### Usage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ```
qqmath(x, data, ...)
## S3 method for class 'formula'
qqmath(x,
data,
allow.multiple = is.null(groups) || outer,
outer = !is.null(groups),
distribution = qnorm,
f.value = NULL,
auto.key = FALSE,
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 class 'numeric'
qqmath(x, data = NULL, ylab, ...)
``` |

### Arguments

`x` |
The object on which method dispatch is carried out. For the |

`data` |
For the |

`distribution` |
A quantile function that takes a vector of probabilities as argument
and produces the corresponding quantiles from a theoretical
distribution. Possible values are |

`f.value` |
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
For large |

`panel` |
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 |

`allow.multiple, outer` |
See |

`auto.key` |
See |

`aspect` |
See |

`prepanel` |
See |

`scales` |
See |

`strip` |
See |

`groups` |
See |

`xlab, ylab` |
See |

`xlim, ylim` |
See |

`drop.unused.levels` |
See |

`lattice.options` |
See |

`default.scales` |
See |

`subscripts` |
See |

`subset` |
See |

`default.prepanel` |
Fallback prepanel function. See |

`...` |
Further arguments. See corresponding entry in |

### Details

`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.

### Value

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.

### Author(s)

Deepayan Sarkar Deepayan.Sarkar@R-project.org

### See Also

`xyplot`

, `panel.qqmath`

,
`panel.qqmathline`

, `prepanel.qqmathline`

,
`Lattice`

, `quantile`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ```
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, ...)
})
``` |