Learn R Programming

gap (version 1.2.3-1)

qqunif: Q-Q plot for uniformly distributed random variable

Description

This function produces Q-Q plot for a random variable following uniform distribution with or without using log-scale. Note that the log-scale is by default for type "exp", which is a plot based on exponential order statistics. This appears to be more appropriate than the commonly used procedure whereby the expected value of uniform order statistics is directly log-transformed.

Usage

qqunif(u,type="unif",logscale=TRUE,base=10,
       col=palette()[4],lcol=palette()[2],ci=FALSE,alpha=0.05,...)

Arguments

u

a vector of uniformly distributed random variables

type

string option to specify distribution: "unif"=uniform, "exp"=exponential

logscale

to use logscale

base

the base of the log function

col

color for points

lcol

color for the diagonal line

ci

logical option to show confidence interval

alpha

1-confidence level, e.g., 0.05

...

other options as appropriae for the qqplot function

Value

The returned value is a list with components of a qqplot:

x

expected value for uniform order statistics or its -log(,base) counterpart

y

observed value or its -log(,base) counterpart

References

Balakrishnan N, Nevzorov VB. A Primer on Statistical Distributions. Wiley 2003.

Casella G, Berger RL. Statistical Inference, Second Edition. Duxbury 2002.

Davison AC. Statistical Models. Cambridge University Press 2003.

See Also

qqfun

Examples

Run this code
# NOT RUN {
# Q-Q Plot for 1000 U(0,1) r.v., marking those <= 1e-5
u_obs <- runif(1000)
r <- qqunif(u_obs,pch=21,bg="blue",bty="n")
u_exp <- r$y
hits <- u_exp >= 2.30103
points(r$x[hits],u_exp[hits],pch=21,bg="green")
legend("topleft",sprintf("GC.lambda=%.4f",gc.lambda(u_obs)))
# }

Run the code above in your browser using DataLab