Learn R Programming

fitdistrplus (version 1.0-2)

quantiles: Quantile estimation from a fitted distribution

Description

Quantile estimation from a fitted distribution, optionally with confidence intervals calculated from the bootstrap result.

Usage

## S3 method for class 'fitdist':
quantile(x, probs = seq(0.1, 0.9, by=0.1), ...)
## S3 method for class 'fitdistcens':
quantile(x, probs = seq(0.1, 0.9, by=0.1), ...)
## S3 method for class 'bootdist':
quantile(x, probs = seq(0.1, 0.9, by=0.1),CI.type = "two.sided", CI.level = 0.95, ...)
## S3 method for class 'bootdistcens':
quantile(x, probs = seq(0.1, 0.9, by=0.1),CI.type = "two.sided", CI.level = 0.95, ...)
## S3 method for class 'quantile.fitdist':
print(x, \dots)
## S3 method for class 'quantile.fitdistcens':
print(x, \dots)
## S3 method for class 'quantile.bootdist':
print(x, \dots)
## S3 method for class 'quantile.bootdistcens':
print(x, \dots)

Arguments

x
An object of class "fitdist", "fitdistcens", "bootdist", "bootdistcens" or "quantile.fitdist", "quantile.fitdistcens", "quantile.bootdist", "quanti
probs
A numeric vector of probabilities with values in [0, 1] at which quantiles must be calculated.
CI.type
Type of confidence intervals : either "two.sided" or one-sided intervals ("less" or "greater").
CI.level
The confidence level.
...
Further arguments to be passed to generic functions.

Value

  • quantile returns a list with 2 components (the first two described below) when called with an object of class "fitdist" or "fitdistcens" and 8 components (described below) when called with an object of class "bootdist" or "bootdistcens" :
  • quantilesa dataframe containing the estimated quantiles for each probability value specified in the argument probs (one row, and as many columns as values in probs).
  • probsthe numeric vector of probabilities at which quantiles are calculated.
  • bootquantA data frame containing the bootstraped values for each quantile (many rows, as specified in the call to bootdist in the argument niter, and as many columns as values in probs)
  • quantCIIf CI.type is two.sided, the two bounds of the CI.level percent two.sided confidence interval for each quantile (two rows and as many columns as values in probs). If CI.type is less, right bound of the CI.level percent one.sided confidence interval for each quantile (one row). If CI.type is greater, left bound of the CI.level percent one.sided confidence interval for each quantile (one row).
  • quantmedianMedian of bootstrap estimates (per probability).
  • CI.typeType of confidence interval: either "two.sided" or one-sided intervals ("less" or "greater").
  • CI.levelThe confidence level.
  • nbbootThe number of samples drawn by bootstrap.
  • nbconvergThe number of iterations for which the optimization algorithm converges.

Details

Quantiles of the parametric distribution are calculated for each probability specified in probs, using the estimated parameters. When used with an object of class "bootdist" or "bootdistcens", percentile confidence intervals and medians etimates are also calculated from the bootstrap result. If CI.type is two.sided, the CI.level two-sided confidence intervals of quantiles are calculated. If CI.type is less or greater, the CI.level one-sided confidence intervals of quantiles are calculated. The print functions show the estimated quantiles with percentile confidence intervals and median estimates when a bootstrap resampling has been done previously, and the number of bootstrap iterations for which the estimation converges if it is inferior to the whole number of bootstrap iterations.

See Also

fitdist, bootdist, fitdistcens and bootdistcens.

Examples

Run this code
# (1) Fit of a normal distribution on acute toxicity log-transformed values of 
# endosulfan for nonarthropod invertebrates, using maximum likelihood estimation
# to estimate what is called a species sensitivity distribution 
# (SSD) in ecotoxicology, followed by estimation of the 5, 10 and 20 percent quantile  
# values of the fitted distribution, which are called the 5, 10, 20 percent hazardous 
# concentrations (HC5, HC10, HC20) in ecotoxicology, followed with calculations of their
# confidence intervals with various definitions, from a small number of bootstrap 
# iterations to satisfy CRAN running times constraint.
# For practical applications, we recommend to use at least niter=501 or niter=1001.
#
data(endosulfan)
ATV <- subset(endosulfan, group == "NonArthroInvert")$ATV
log10ATV <- log10(subset(endosulfan, group == "NonArthroInvert")$ATV)
fln <- fitdist(log10ATV, "norm")
quantile(fln, probs = c(0.05, 0.1, 0.2))
bln <- bootdist(fln, bootmethod="param", niter=101)
quantile(bln, probs = c(0.05, 0.1, 0.2))
quantile(bln, probs = c(0.05, 0.1, 0.2), CI.type = "greater")
quantile(bln, probs = c(0.05, 0.1, 0.2), CI.level = 0.9)

# (2) Draw of 95 percent confidence intervals on quantiles of the 
# previously fitted distribution
#
cdfcomp(fln)
q1 <- quantile(bln, probs = seq(0,1,length=101))
points(q1$quantCI[1,],q1$probs,type="l")
points(q1$quantCI[2,],q1$probs,type="l")
 

# (3) Fit of a distribution on acute salinity log-transformed tolerance 
# for riverine macro-invertebrates, using maximum likelihood estimation
# to estimate what is called a species sensitivity distribution 
# (SSD) in ecotoxicology, followed by estimation of the 5, 10 and 20 percent quantile
# values of the fitted distribution, which are called the 5, 10, 20 percent hazardous 
# concentrations (HC5, HC10, HC20) in ecotoxicology, followed with calculations of 
# their confidence intervals with various definitions.
# from a small number of bootstrap iterations to satisfy CRAN running times constraint.
# For practical applications, we recommend to use at least niter=501 or niter=1001.
#
data(salinity)
log10LC50 <-log10(salinity)
flncens <- fitdistcens(log10LC50,"norm")
quantile(flncens, probs = c(0.05, 0.1, 0.2))
blncens <- bootdistcens(flncens, niter = 101)
quantile(blncens, probs = c(0.05, 0.1, 0.2))
quantile(blncens, probs = c(0.05, 0.1, 0.2), CI.type = "greater")
quantile(blncens, probs = c(0.05, 0.1, 0.2), CI.level = 0.9)

Run the code above in your browser using DataLab