ppoints
Ordinates for Probability PlottingGenerates the sequence of probability points (1:m - a)/(m + (1-a)-a)
where m
is either n
, if length(n)==1
, or length(n)
.
ppoints(n, a = if(n <= 10) 3/8 else 1/2)
n | either the number of points generated or a vector of observations. |
a | the offset fraction to be used; typically in (0,1). |
If 0 < a < 1, the resulting values are within (0,1) (excluding boundaries). In any case, the resulting sequence is symmetric in [0,1], i.e., p + rev(p) == 1
.
ppoints()
is used in qqplot
and qqnorm
to generate the set of probabilities at which to evaluate the inverse distribution.
The choice of a
follows the documentation of the function of the same name in Becker et al (1988), and appears to have been motivated by results from Blom (1958) on approximations to expect normal order statistics (see also quantile
).
The probability points for the continuous sample quantile types 5 to 9 (see quantile
) can be obtained by taking a
as, respectively, 1/2, 0, 1, 1/3, and 3/8.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Blom, G. (1958) Statistical Estimates and Transformed Beta Variables. Wiley
ppoints(4) # the same as ppoints(1:4) ppoints(10) ppoints(10, a = 1/2) ## Visualize including the fractions : require(graphics) 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")
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.