Type: | Package |
Version: | 0.0.6 |
Title: | Quantile-Quantile Plot Extensions for 'ggplot2' |
Description: | Extensions of 'ggplot2' Q-Q plot functionalities. |
URL: | https://github.com/aloy/qqplotr |
BugReports: | https://github.com/aloy/qqplotr/issues |
License: | GPL-3 | file LICENSE |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.2.2 |
Collate: | 'data.R' 'geom_qq_band.R' 'qqplotr.R' 'runShinyExample.R' 'stat_pp_band.R' 'stat_pp_line.R' 'stat_pp_point.R' 'stat_qq_line.R' 'stat_qq_band.R' 'stat_qq_point.R' |
VignetteBuilder: | knitr |
Depends: | R (≥ 3.1), ggplot2 (≥ 2.2) |
Imports: | dplyr, robustbase, MASS, opdisDownsampling, qqconf (≥ 1.3.1) |
Suggests: | shiny, devtools, lattice, shinyBS, knitr, rmarkdown |
NeedsCompilation: | no |
Packaged: | 2023-01-25 19:43:38 UTC; aloy |
Author: | Alexandre Almeida [aut], Adam Loy [aut, cre], Heike Hofmann [aut] |
Maintainer: | Adam Loy <loyad01@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2023-01-25 21:00:02 UTC |
GeomQqBand
Description
GeomQqBand
Format
An object of class GeomQqBand
(inherits from Geom
, ggproto
, gg
) of length 6.
StatPpBand
Description
StatPpBand
Format
An object of class StatPpBand
(inherits from Stat
, ggproto
, gg
) of length 5.
StatPpLine
Description
StatPpLine
Format
An object of class StatPpLine
(inherits from Stat
, ggproto
, gg
) of length 5.
StatPpPoint
Description
StatPpPoint
Format
An object of class StatPpPoint
(inherits from Stat
, ggproto
, gg
) of length 5.
StatQqBand
Description
StatQqBand
Format
An object of class StatQqBand
(inherits from StatQqLine
, Stat
, ggproto
, gg
) of length 5.
StatQqLine
Description
StatQqLine
Format
An object of class StatQqLine
(inherits from Stat
, ggproto
, gg
) of length 5.
StatQqPoint
Description
StatQqPoint
Format
An object of class StatQqPoint
(inherits from Stat
, ggproto
, gg
) of length 5.
Quantile-quantile confidence bands
Description
Draws quantile-quantile confidence bands, with an additional detrend option.
Usage
geom_qq_band(
mapping = NULL,
data = NULL,
stat = "qq_band",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
detrend = FALSE,
identity = FALSE,
qtype = 7,
qprobs = c(0.25, 0.75),
bandType = "pointwise",
B = 1000,
conf = 0.95,
mu = NULL,
sigma = NULL,
...
)
stat_qq_band(
mapping = NULL,
data = NULL,
geom = "qq_band",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
detrend = FALSE,
identity = FALSE,
qtype = 7,
qprobs = c(0.25, 0.75),
bandType = "pointwise",
B = 1000,
conf = 0.95,
mu = NULL,
sigma = NULL,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
statistic to use to calculate confidence bands. Should be 'qq_band'. |
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
distribution |
Character. Theoretical probability distribution function
to use. Do not provide the full distribution function name (e.g.,
|
dparams |
List of additional parameters passed on to the previously
chosen |
detrend |
Logical. Should the plot objects be detrended? If |
identity |
Logical. Should an identity line be used as the reference
line used to construct the confidence bands? If |
qtype |
Integer between 1 and 9. Type of the quantile algorithm to be
used by the |
qprobs |
Numeric vector of length two. Represents the quantiles used by
the |
bandType |
Character. Either |
B |
Integer. If |
conf |
Numerical. Confidence level of the bands. |
mu |
Numerical. Only used if |
sigma |
Numerical. Only used if |
... |
Other arguments passed on to |
geom |
The geometric object to use to display the data, either as a
|
Note
Tail-sensitive confidence bands are only implemented for Normal Q-Q plots. As a future update, we intend to generalize to other distributions.
Bootstrap bands are constructed based on a MLE parametric bootstrap. Hence, it is not possible to construct such bands if the sample and theoretical distributions present mismatching supports.
References
Thode, H. (2002), Testing for Normality. CRC Press, 1st Ed.
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100))
# Normal Q-Q plot of Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_band() +
stat_qq_line() +
stat_qq_point()
gg + labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
# Normal Q-Q plot of Normal data with equal local levels (ell) bands
bt <- "ell"
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_band(bandType = bt) +
stat_qq_line() +
stat_qq_point() +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Exponential Q-Q plot of mean ozone levels (airquality dataset)
di <- "exp"
dp <- list(rate = 1)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_qq_band(distribution = di, dparams = dp) +
stat_qq_line(distribution = di, dparams = dp) +
stat_qq_point(distribution = di, dparams = dp) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Detrended Exponential Q-Q plot of mean ozone levels
di <- "exp"
dp <- list(rate = 1)
de <- TRUE
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_qq_band(distribution = di, detrend = de) +
stat_qq_line(distribution = di, detrend = de) +
stat_qq_point(distribution = di, detrend = de) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
## Not run:
# Normal Q-Q plot of Normal data with bootstrap confidence bands
bt <- "boot"
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_band(bandType = bt) +
stat_qq_line() +
stat_qq_point() +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Normal Q-Q plot of Normal data with tail-sensitive confidence bands
bt <- "ts"
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_band(bandType = bt) +
stat_qq_line() +
stat_qq_point() +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
## End(Not run)
2012 BRFSS sample for the state of Iowa
Description
2012 BRFSS sample for the state of Iowa
Usage
data(iowa)
Format
A data frame with 7166 observations on 3 variables:
- SEX
Gender
- WTKG3
Weight in kg
- HTIN4
Height in inch
Source
https://www.cdc.gov/brfss/annual_data/annual_2012.html
Men's Olympic Long Jump Qualifiers 2012
Description
Men's Olympic Long Jump Qualifiers 2012
Usage
data(longjump)
Format
A data frame with 42 observations on the following 4 variables:
- rank
Athlete's rank at the qualifying event
- name
Athlete's name
- country
Athlete's country of origin
- distance
Result in meters
Source
https://olympics.com/en/olympic-games/london-2012/results/athletics/long-jump-men
Q-Q and P-P plot extensions for 'ggplot2'
Description
This package extends some ggplot2
functionalities by permitting the
drawing of both quantile-quantile (Q-Q) and probability-probability (P-P)
points, lines, and confidence bands. The functions of this package also allow
the detrend adjustment, proposed by Thode (2002), which helps reduce visual
bias when assessing those plots.
Details
The functions of this package, presented as ggplot2
Stats, are divided
into two groups: Q-Q and P-P related.
Each of the groups is composed of three Stats: point
, line
, and
band
. Those Stats, while independent, complement each other when
plotted together.
'qqplotr' Example Shiny App
Description
'qqplotr' Example Shiny App
Probability-probability confidence bands
Description
Draws probability-probability confidence bands.
Usage
stat_pp_band(
mapping = NULL,
data = NULL,
geom = "ribbon",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
bandType = "boot",
B = 1000,
conf = 0.95,
detrend = FALSE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
distribution |
Character. Theoretical probability distribution function
to use. Do not provide the full distribution function name (e.g.,
|
dparams |
List of additional parameters passed on to the previously
chosen |
bandType |
Character. Only |
B |
Integer. If |
conf |
Numerical. Confidence level of the bands. |
detrend |
Logical. Should the plot objects be detrended? If |
... |
Other arguments passed on to |
References
Thode, H. (2002), Testing for Normality. CRC Press, 1st Ed.
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100), exp = rexp(100))
# Normal P-P plot of Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_band() +
stat_pp_line() +
stat_pp_point() +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Shifted Normal P-P plot of Normal data
dp <- list(mean = 1.5)
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_band(dparams = dp, bandType = "ell") +
stat_pp_line() +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Exponential P-P plot of Exponential data
di <- "exp"
gg <- ggplot(data = smp, mapping = aes(sample = exp)) +
stat_pp_band(distribution = di, bandType = "ell") +
stat_pp_line() +
stat_pp_point(distribution = di) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
## Not run:
# Normal P-P plot of mean ozone levels (airquality dataset)
dp <- list(mean = 38, sd = 27)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_pp_band(dparams = dp) +
stat_pp_line() +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
## End(Not run)
Probability-probability lines
Description
Draws a probability-probability line.
Usage
stat_pp_line(
mapping = NULL,
data = NULL,
geom = "path",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
ab = c(0, 1),
detrend = FALSE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
ab |
Numeric vector of length two. The intercept ( |
detrend |
Logical. Should the plot objects be detrended? If |
... |
Other arguments passed on to |
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100))
# Normal P-P plot of Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_line() +
stat_pp_point() +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Shifted Normal P-P plot of Normal data
dp <- list(mean = 1.5)
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_line() +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Normal P-P plot of mean ozone levels (airquality dataset)
dp <- list(mean = 38, sd = 27)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_pp_line() +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
Probability-probability points
Description
Draws probability-probability points.
Usage
stat_pp_point(
mapping = NULL,
data = NULL,
geom = "point",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
detrend = FALSE,
down.sample = NULL,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
distribution |
Character. Theoretical probability distribution function
to use. Do not provide the full distribution function name (e.g.,
|
dparams |
List of additional parameters passed on to the previously
chosen |
detrend |
Logical. Should the plot objects be detrended? If |
down.sample |
Integer specifying how many points you want to sample
in a reduced sample (i.e., a down sample). The default value is |
... |
Other arguments passed on to |
References
Thode, H. (2002), Testing for Normality. CRC Press, 1st Ed.
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100))
# Normal P-P plot of Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_point() +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Shifted Normal P-P plot of Normal data
dp <- list(mean = 1.5)
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
# Normal P-P plot of mean ozone levels (airquality dataset)
dp <- list(mean = 38, sd = 27)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_pp_point(dparams = dp) +
labs(x = "Probability Points", y = "Cumulative Probability")
gg
Quantile-quantile lines
Description
Draws a quantile-quantile line, with an additional detrend option.
Usage
stat_qq_line(
mapping = NULL,
data = NULL,
geom = "path",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
detrend = FALSE,
identity = FALSE,
qtype = 7,
qprobs = c(0.25, 0.75),
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
distribution |
Character. Theoretical probability distribution function
to use. Do not provide the full distribution function name (e.g.,
|
dparams |
List of additional parameters passed on to the previously
chosen |
detrend |
Logical. Should the plot objects be detrended? If |
identity |
Logical. Should an identity line be used as the reference
line? If |
qtype |
Integer between 1 and 9. Only used if |
qprobs |
Numeric vector of length two. Only used if |
... |
Other arguments passed on to |
References
Thode, H. (2002), Testing for Normality. CRC Press, 1st Ed.
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100))
# Normal Q-Q plot of Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_line() +
stat_qq_point() +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Exponential Q-Q plot of mean ozone levels (airquality dataset)
di <- "exp"
dp <- list(rate = 1)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_qq_line(distribution = di, dparams = dp) +
stat_qq_point(distribution = di, dparams = dp) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Detrended Exponential Q-Q plot of mean ozone levels
di <- "exp"
dp <- list(rate = 1)
de <- TRUE
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_qq_line(distribution = di, detrend = de) +
stat_qq_point(distribution = di, detrend = de) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
Quantile-quantile points
Description
Draws quantile-quantile points, with an additional detrend option.
Usage
stat_qq_point(
mapping = NULL,
data = NULL,
geom = "point",
position = "identity",
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
distribution = "norm",
dparams = list(),
detrend = FALSE,
identity = FALSE,
qtype = 7,
qprobs = c(0.25, 0.75),
down.sample = NULL,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
distribution |
Character. Theoretical probability distribution function
to use. Do not provide the full distribution function name (e.g.,
|
dparams |
List of additional parameters passed on to the previously
chosen |
detrend |
Logical. Should the plot objects be detrended? If |
identity |
Logical. Only used if |
qtype |
Integer between 1 and 9. Only used if |
qprobs |
Numeric vector of length two. Only used if |
down.sample |
Integer specifying how many points you want to sample
in a reduced sample (i.e., a down sample). The default value is |
... |
Other arguments passed on to |
References
Thode, H. (2002), Testing for Normality. CRC Press, 1st Ed.
Examples
# generate random Normal data
set.seed(0)
smp <- data.frame(norm = rnorm(100))
# Normal Q-Q plot of simulated Normal data
gg <- ggplot(data = smp, mapping = aes(sample = norm)) +
stat_qq_point() +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg
# Exponential Q-Q plot of mean ozone levels (airquality dataset)
di <- "exp"
dp <- list(rate = 1)
gg <- ggplot(data = airquality, mapping = aes(sample = Ozone)) +
stat_qq_point(distribution = di, dparams = dp) +
labs(x = "Theoretical Quantiles", y = "Sample Quantiles")
gg