pp_qq_plot {qrmtools} | R Documentation |
Probability-probability plots and quantile-quantile plots.
pp_plot(x, FUN, xlab = "Theoretical probabilities", ylab = "Sample probabilities", ...) qq_plot(x, FUN = qnorm, xlab = "Theoretical quantiles", ylab = "Sample quantiles", do.qqline = TRUE, method = c("theoretical", "empirical"), qqline.args = NULL, ...)
x |
data |
FUN |
|
xlab |
x-axis label. |
ylab |
y-axis label. |
do.qqline |
|
method |
method used to construct the Q-Q line. If
|
qqline.args |
|
... |
additional arguments passed to the underlying
|
Note that Q-Q plots are more widely used than P-P plots (as they highlight deviations in the tails more clearly).
invisible()
.
Marius Hofert
## Generate data n <- 1000 mu <- 1 sig <- 3 nu <- 3.5 set.seed(271) # set seed x <- mu + sig * sqrt((nu-2)/nu) * rt(n, df = nu) # sample from t_nu(mu, sig^2) ## P-P plot pF <- function(q) pt((q - mu) / (sig * sqrt((nu-2)/nu)), df = nu) pp_plot(x, FUN = pF) ## Q-Q plot qF <- function(p) mu + sig * sqrt((nu-2)/nu) * qt(p, df = nu) qq_plot(x, FUN = qF) ## A comparison with R's qqplot() and qqline() qqplot(qF(ppoints(length(x))), x) # the same (except labels) qqline(x, distribution = qF) # slightly different (since *estimated*) ## Difference of the two methods set.seed(271) z <- rnorm(1000) ## Standardized data qq_plot(z, FUN = qnorm) # fine qq_plot(z, FUN = qnorm, method = "empirical") # fine ## Location-scale transformed data mu <- 3 sig <- 2 z. <- mu+sig*z qq_plot(z., FUN = qnorm) # not fine (z. comes from N(mu, sig^2), not N(0,1)) qq_plot(z., FUN = qnorm, method = "empirical") # fine (as intercept and slope are estimated)