Rev 72321 | Rev 85977 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/stats/man/ppoints.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2017 R Core Team% Distributed under GPL 2 or later\name{ppoints}\title{Ordinates for Probability Plotting}\usage{ppoints(n, a = if(n <= 10) 3/8 else 1/2)}\alias{ppoints}\arguments{\item{n}{either the number of points generated or a vector ofobservations.}\item{a}{the offset fraction to be used; typically in \eqn{(0,1)}.}}\description{Generates the sequence of probability points\code{(1:m - a)/(m + (1-a)-a)}where \code{m} is either \code{n}, if \code{length(n)==1}, or\code{length(n)}.}\details{If \eqn{0 < a < 1}, the resulting values are within \eqn{(0,1)}(excluding boundaries).In any case, the resulting sequence is symmetric in \eqn{[0,1]}, i.e.,\code{p + rev(p) == 1}.\code{ppoints()} is used in \code{qqplot} and \code{qqnorm} to generatethe set of probabilities at which to evaluate the inverse distribution.The choice of \code{a} follows the documentation of the function of thesame name in Becker \emph{et al} (1988), and appears to have beenmotivated by results from Blom (1958) on approximations to expect normalorder statistics (see also \code{\link{quantile}}).The probability points for the continuous sample quantile types 5 to 9(see \code{\link{quantile}}) can be obtained by taking \code{a} as,respectively, 1/2, 0, 1, 1/3, and 3/8.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth & Brooks/Cole.Blom, G. (1958)\emph{Statistical Estimates and Transformed Beta Variables.}Wiley}\seealso{\code{\link{qqplot}}, \code{\link{qqnorm}}.}\examples{ppoints(4) # the same as ppoints(1:4)ppoints(10)ppoints(10, a = 1/2)## Visualize including the fractions :require(graphics)\dontshow{lNs <- loadedNamespaces()}p.ppoints <- function(n, ..., add = FALSE, col = par("col")) {pn <- ppoints(n, ...)if(add)points(pn, pn, col = col)else {tit <- match.call(); tit[[1]] <- quote(ppoints)plot(pn,pn, main = deparse(tit), col=col,xlim = 0:1, ylim = 0:1, xaxs = "i", yaxs = "i")abline(0, 1, col = adjustcolor(1, 1/4), lty = 3)}if(!add && requireNamespace("MASS", quietly = TRUE))text(pn, pn, as.character(MASS::fractions(pn)),adj = c(0,0)-1/4, cex = 3/4, xpd = NA, col=col)abline(h = pn, v = pn, col = adjustcolor(col, 1/2), lty = 2, lwd = 1/2)}p.ppoints(4)p.ppoints(10)p.ppoints(10, a = 1/2)p.ppoints(21)p.ppoints(8) ; p.ppoints(8, a = 1/2, add=TRUE, col="tomato")\dontshow{if(!any("MASS" == lNs)) unloadNamespace("MASS")}}\keyword{dplot}\keyword{arith}\keyword{distribution}