# CIcdfplot: Empirical cumulative distribution function with pointwise... In fitdistrplus: Help to Fit of a Parametric Distribution to Non-Censored or Censored Data

## Description

`cdfband` plots the empirical cumulative distribution function with the bootstraped pointwise confidence intervals on probabilities of on quantiles.

## Usage

 ```1 2 3 4 5``` ```CIcdfplot(b, CI.output, CI.type = "two.sided", CI.level = 0.95, CI.col = "red", CI.lty = 2, CI.fill = NULL, CI.only = FALSE, xlim, ylim, xlogscale = FALSE, ylogscale = FALSE, main, xlab, ylab, datapch, datacol, fitlty, fitcol, fitlwd, horizontals = TRUE, verticals = FALSE, do.points = TRUE, use.ppoints = TRUE, a.ppoints = 0.5, lines01 = FALSE, ...) ```

## Arguments

 `b` One `"bootdist"` object. `CI.output` The quantity on which (bootstraped) bootstraped confidence intervals are computed: either `"probability"` or `"quantile"`). `CI.type` Type of confidence intervals : either `"two.sided"` or one-sided intervals (`"less"` or `"greater"`). `CI.level` The confidence level. `CI.col` the color of the confidence intervals. `CI.lty` the line type of the confidence intervals. `CI.fill` a color to fill the confidence area. Default is `NULL` corresponding to no filling. `CI.only` A logical whether to plot empirical and fitted distribution functions or only the confidence intervals. Default to `FALSE`. `xlim` The x-limits of the plot. `ylim` The y-limits of the plot. `xlogscale` If `TRUE`, uses a logarithmic scale for the x-axis. `ylogscale` If `TRUE`, uses a logarithmic scale for the y-axis. `main` A main title for the plot, see also `title`. `xlab` A label for the x-axis, defaults to a description of `x`. `ylab` A label for the y-axis, defaults to a description of `y`. `datapch` An integer specifying a symbol to be used in plotting data points, see also `points` (only for non censored data). `datacol` A specification of the color to be used in plotting data points. `fitcol` A (vector of) color(s) to plot fitted distributions. If there are fewer colors than fits they are recycled in the standard fashion. `fitlty` A (vector of) line type(s) to plot fitted distributions/densities. If there are fewer values than fits they are recycled in the standard fashion. See also `par`. `fitlwd` A (vector of) line size(s) to plot fitted distributions/densities. If there are fewer values than fits they are recycled in the standard fashion. See also `par`. `horizontals` If `TRUE`, draws horizontal lines for the step empirical cdf function (only for non censored data). See also `plot.stepfun`. `do.points` logical; if `TRUE`, also draw points at the x-locations. Default is true (only for non censored data). `verticals` If `TRUE`, draws also vertical lines for the empirical cdf function. Only taken into account if `horizontals=TRUE` (only for non censored data). `use.ppoints` If `TRUE`, probability points of the empirical distribution are defined using function `ppoints` as `(1:n - a.ppoints)/(n - 2a.ppoints + 1)` (only for non censored data). If `FALSE`, probability points are simply defined as `1:n / n`. This argument is ignored for discrete data. `a.ppoints` If `use.ppoints=TRUE`, this is passed to function `ppoints` (only for non censored data). `lines01` A logical to plot two horizontal lines at `h=0` and `h=1` for `cdfcomp`. `...` Further graphical arguments passed to `matlines` or `polygon`, respectively when `CI.fill=FALSE` and `CI.fill=TRUE`.

## Details

`CIcdfplot` provides a plot of the empirical distribution using `cdfcomp` or `cdfcompcens`, with bootstraped pointwise confidence intervals on probabilities (y values) or on quantiles (x values). Each interval is computed by evaluating the quantity of interest (probability associated to an x value or quantile associated to an y value) using all the bootstraped values of parameters to get a bootstraped sample of the quantity of interest and then by calculating percentiles on this sample to get a confidence interval (classically 2.5 and 97.5 percentiles for a 95 percent confidence level). If `CI.fill != NULL`, then the whole confidence area is filled by the color `CI.fill` thanks to the function `polygon`, otherwise only borders are drawn thanks to the function `matline`. Further graphical arguments can be passed to these functions using the three dots arguments `...`.

## Author(s)

Christophe Dutang and Marie-Laure Delignette-Muller.

## References

Delignette-Muller ML and Dutang C (2015), fitdistrplus: An R Package for Fitting Distributions. Journal of Statistical Software, 64(4), 1-34.

See also `cdfcomp`, `cdfcompcens`, `bootdist` and `quantile`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74``` ```# We choose a low number of bootstrap replicates in order to satisfy CRAN running times # constraint. # For practical applications, we recommend to use at least niter=501 or niter=1001. # (1) Fit of an exponential distribution # set.seed(123) s1 <- rexp(50, 1) f1 <- fitdist(s1, "exp") b1 <- bootdist(f1, niter= 11) #voluntarily low to decrease computation time # plot 95 percent bilateral confidence intervals on y values (probabilities) CIcdfplot(b1, CI.level= 95/100, CI.output = "probability") # plot of the previous intervals as a band CIcdfplot(b1, CI.level= 95/100, CI.output = "probability", CI.fill = "pink", CI.col = "red") # plot of the previous intervals as a band without empirical and fitted dist. functions CIcdfplot(b1, CI.level= 95/100, CI.output = "probability", CI.only = TRUE, CI.fill = "pink", CI.col = "red") # same plot without contours CIcdfplot(b1, CI.level= 95/100, CI.output = "probability", CI.only = TRUE, CI.fill = "pink", CI.col = "pink") # plot 95 percent bilateral confidence intervals on x values (quantiles) CIcdfplot(b1, CI.level= 95/100, CI.output = "quantile") # plot 95 percent unilateral confidence intervals on quantiles CIcdfplot(b1, CI.level = 95/100, CI.output = "quant", CI.type = "less", CI.fill = "grey80", CI.col = "black", CI.lty = 1) CIcdfplot(b1, CI.level= 95/100, CI.output = "quant", CI.type = "greater", CI.fill = "grey80", CI.col = "black", CI.lty = 1) # (2) 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, with their # confidence intervals, from a small number of bootstrap # iterations to satisfy CRAN running times constraint and plot of the band # representing pointwise confidence intervals on any quantiles (any HCx values) # 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") bln <- bootdist(fln, bootmethod ="param", niter=101) quantile(bln, probs = c(0.05, 0.1, 0.2)) CIcdfplot(bln, CI.output = "quantile", CI.fill = "lightblue", CI.col = "blue", xlim = c(1,5)) # (3) Same type of example as example (2) from ecotoxicology # with censored data # data(salinity) log10LC50 <-log10(salinity) fln <- fitdistcens(log10LC50,"norm") bln <- bootdistcens(fln, niter=101) (HC5ln <- quantile(bln,probs = 0.05)) CIcdfplot(bln, CI.output = "quantile", CI.fill = "lightblue", CI.col = "blue", xlab = "log10(LC50)",xlim=c(0.5,2),lines01 = TRUE) # zoom around the HC5 CIcdfplot(bln, CI.output = "quantile", CI.fill = "lightblue", CI.col = "blue", xlab = "log10(LC50)", lines01 = TRUE, xlim = c(0.8, 1.5), ylim = c(0, 0.1)) abline(h = 0.05, lty = 2) # line corresponding to a CDF of 5 percent ```