qqmath                package:lattice                R Documentation

Q-Q Plot with Theoretical Distribution

Description:

     Quantile-Quantile plot of a sample and a theoretical distribution

Usage:

     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(),
            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 '"formula"' method, a formula of the form '~ x | g1 *
          g2 * ...', where 'x' must be a numeric.  For the '"numeric"'
          method, a numeric vector. 

    data: For the 'formula' method, an optional data frame in which
          variables in the formula (as well as 'groups' and 'subset',
          if any) are to be evaluated.  Usualll ignored with a warning
          in other methods. 

distribution: a quantile function that takes a vector of probabilities
          as argument and produces the corresponding quantiles.
          Possible values are 'qnorm', 'qunif' etc. Distributions with
          other required arguments need to be passed in as user defined
          functions. 

 f.value: optional numeric vector of probabilities, quantiles
          corresponding to which should be plotted.  Can also be a
          function of a single integer (representing sample size) that
          returns such a numeric vector.  The 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, using 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 useful in plotting a
          smaller set of quantiles, which is usually enough to capture
          the pattern. 

   panel: The panel function to be used.  Unlike in older versions, the
          default panel function does most of the actual computations
          and has support for grouping.  See 'panel.qqmath' for
          details. 

allow.multiple, outer, auto.key, aspect, prepanel, scales,
strip, groups, xlab, xlim, ylab, ylim, drop.unused.levels,
lattice.options, default.scales, subscripts, subset: 
          See 'xyplot' 

     ...: Further arguments.  See corresponding entry in 'xyplot' for
          non-trivial details. 

Details:

     'qqmath' produces a Q-Q plot of the given sample and 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:

     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, ...)
            })

