salinity: Species-Sensitivity Distribution (SSD) for salinity tolerance

salinityR Documentation

Species-Sensitivity Distribution (SSD) for salinity tolerance


72-hour acute salinity tolerance (LC50 values) of riverine macro-invertebrates.




salinity is a data frame with 2 columns named left and right, describing each observed LC50 value (in electrical condutivity, millisiemens per centimeter) as an interval. The left column contains either NA for left censored observations, the left bound of the interval for interval censored observations, or the observed value for non-censored observations. The right column contains either NA for right censored observations, the right bound of the interval for interval censored observations, or the observed value for noncensored observations.


Kefford, B.J., Nugegoda, D., Metzeling, L., Fields, E. 2006. Validating species sensitivity distributions using salinity tolerance of riverine macroinvertebrates in the southern Murray-darling Basin (Vitoria, Australia). Canadian Journal of Fisheries and Aquatic Science, 63, 1865-1877.


# (1) load of data

# (2) plot of data using Turnbull cdf plot
log10LC50 <- log10(salinity)

# (3) fit of a normal and a logistic distribution to data in log10
# (classical distributions used for species sensitivity 
# distributions, SSD, in ecotoxicology))
# and visual comparison of the fits using Turnbull cdf plot 
fln <- fitdistcens(log10LC50, "norm")

fll <- fitdistcens(log10LC50, "logis")

cdfcompcens(list(fln, fll),legendtext = c("normal", "logistic"),
    xlab = "log10(LC50)", xlim = c(0.5, 2), lines01 = TRUE)

# (4) estimation of the 5 percent quantile value of 
# the normal fitted distribution (5 percent hazardous concentration  : HC5)
# with its two-sided 95 percent confidence interval calculated by 
# non parametric bootstrap
# 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.
# in log10(LC50)
bln <- bootdistcens(fln, niter = 101)
HC5ln <- quantile(bln, probs = 0.05)
# in LC50

# (5) estimation of the HC5 value
# with its one-sided 95 percent confidence interval (type "greater")
# in log10(LC50)
HC5lnb <- quantile(bln, probs = 0.05, CI.type = "greater")

# in LC50

fitdistrplus documentation built on April 25, 2023, 5:09 p.m.