Package {EDE}


Title: Extinction Date Estimation from Sighting Records
Version: 0.1.0
Maintainer: Rodrigo Fonseca Villa <rodrigo03.villa@gmail.com>
Description: Estimates the historic date of extinction of a species from a time-ordered record of sighting events. Given a table of sighting counts per year, computes extinction date estimators from the sighting-record literature: optimal linear estimation under a record-value model (Roberts & Solow, 2003), nonparametric and sighting-effort-weighted persistence tests (Solow, 1993; Solow, 2005), a sighting-rate persistence test comparable across records with different observation periods (McInerny, Roberts, Davy & Cribb, 2006), a classical confidence interval on the end of a temporal range (Strauss & Sadler, 1989), a truncation-point extrapolation (Robson & Whitlock, 1964), and a combinatorial persistence test based on inclusion-exclusion over sighting-gap occupancy (Burgman, Grimson & Ferson, 1995). Every estimator is built on a single validated input object and returns a common result class with, where defined, a point estimate, a confidence interval, or a full persistence-probability curve.
Language: en-US
License: GPL (≥ 3)
URL: https://github.com/rodrigosqrt3/EDE
BugReports: https://github.com/rodrigosqrt3/EDE/issues
Encoding: UTF-8
RoxygenNote: 7.3.3
Depends: R (≥ 4.1.0)
Suggests: testthat (≥ 3.0.0), knitr, rmarkdown, ggplot2
VignetteBuilder: knitr
Config/testthat/edition: 3
NeedsCompilation: no
Packaged: 2026-07-29 23:13:44 UTC; rodri
Author: Rodrigo Fonseca Villa ORCID iD [aut, cre]
Repository: CRAN
Date/Publication: 2026-08-07 16:00:14 UTC

Burgman, Grimson & Ferson (1995) combinatorial persistence test

Description

Computes the probability that, if sighting events were distributed uniformly at random over the candidate observation window, the largest observed gap between sightings would not exceed the gap actually seen in the data. Uses an inclusion-exclusion (Stirling-number) argument on the occupancy of time bins by sighting events.

Usage

burgman1995(sd, alpha = 0.05, test_year, data_out = FALSE)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1). Persistence is rejected for the first candidate year at which the chance of persistence falls to or below alpha.

test_year

Latest year to test. Must be supplied as a number.

data_out

If TRUE, return the full chance-of-persistence curve instead of the single first-rejection year.

Value

An ede_estimate object, or (if data_out = TRUE) a data frame with columns time and chance.

References

Burgman, M. A., Grimson, R. C., & Ferson, S. (1995). Inferring threat from scientific collections. Conservation Biology, 9(4), 923-928.


Extinction date estimate

Description

Common S3 result class returned by every estimator in this package.

Format

A list with components:

estimate

Point estimate, or NA if not defined for this method.

lower, upper

Confidence interval bounds, or NA if not defined.

method

Character string identifying the estimator.

alpha

Significance level used to compute the estimate.


McInerny, Roberts, Davy & Cribb (2006) sighting-rate persistence test

Description

A modification of the Solow (1993) persistence test that conditions on the sighting rate observed up to the last sighting, n / tn, instead of on the length of the whole observation window. This makes the test comparable across records with very different total observation periods: species discovered recently and species discovered long ago, but sighted at the same rate, are inferred extinct after the same length of silence.

Usage

mcinerny2006(sd, alpha = 0.05, test_year, data_out = FALSE)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1). Persistence is rejected for the first candidate year at which the chance of persistence falls to or below alpha.

test_year

Latest year to test. Must be later than the last sighting.

data_out

If TRUE, return the full chance-of-persistence curve instead of the single first-rejection year.

Details

Following the source paper, the first sighting is used to anchor the time origin (t = 0) rather than counted as one of the n sighting events being tested, so the count entering the formula is n - 1, where n is the number of distinct sighting times with a positive count.

Value

An ede_estimate object, or (if data_out = TRUE) a data frame with columns time and chance.

References

McInerny, G. J., Roberts, D. L., Davy, A. J., & Cribb, P. J. (2006). Significance of sighting rate in inferring extinction and threat. Conservation Biology, 20(2), 562-567.


Optimal Linear Estimation of extinction date

Description

Estimates the extinction date from the sighting times with a positive count, using the best linear unbiased estimator (BLUE) of Roberts & Solow (2003) under a Weibull-type record-value model for the spacing of the largest order statistics.

Usage

ole(sd, alpha = 0.05)

Arguments

sd

A sighting_data object.

alpha

Significance level for the confidence interval, in (0, 1).

Value

An ede_estimate object.

References

Roberts, D. L., & Solow, A. R. (2003). Flightless birds: When did the dodo become extinct? Nature, 426(6964), 245.


Robson & Whitlock (1964) truncation point estimator

Description

Extrapolates the extinction date from the gap between the two most recent sighting times, under the assumption that the sighting process near the true endpoint behaves like the tail of a uniform record process.

Usage

robson1964(sd, alpha = 0.05)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1). Not a coverage-calibrated CI here: it directly scales the extrapolated gap, following the original formula, so there is no lower/upper in the returned estimate.

Value

An ede_estimate object.

References

Robson, D. S., & Whitlock, J. H. (1964). Estimation of a truncation point. Biometrika, 51(1/2), 33-39.


Construct a validated sighting record

Description

Builds the common input object used by every estimator in the package: a time-ordered table of sighting counts, checked for the conditions each estimator in the sighting-record literature assumes (numeric, non-negative, no duplicated times).

Usage

sighting_data(data, time_col = 1L, count_col = 2L)

Arguments

data

A data frame or matrix. By default the first column is read as time (e.g. year) and the second as the number of sightings recorded at that time.

time_col, count_col

Column name or position for time and sighting count.

Value

An object of class sighting_data: a data frame with columns time and count, sorted by time.


Solow (1993) nonparametric persistence test

Description

Nonparametric test of the null hypothesis that a species was still extant at a candidate test year, based on the ratio of the time since the last sighting to the total observation window, under a homogeneous sighting process.

Usage

solow1993(sd, alpha = 0.05, test_year, data_out = FALSE)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1). Persistence is rejected for the first candidate year at which the chance of persistence falls to or below alpha.

test_year

Latest year to test. Must be supplied as a number.

data_out

If TRUE, return the full chance-of-persistence curve instead of the single first-rejection year.

Value

An ede_estimate object, or (if data_out = TRUE) a data frame with columns time and chance.

References

Solow, A. R. (1993). Inferring extinction from sighting data. Ecology, 74(3), 962-964.


Solow (1993b) declining-population persistence test

Description

Nonparametric test of the null hypothesis that a declining species was still extant at a candidate test year, based on the ratio of Fisher's gap distribution for a non-stationary Poisson process with an exponential declining rate.

Usage

solow1993b(sd, alpha = 0.05, test_year, data_out = FALSE)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1).

test_year

Latest year to test. Must be later than the last sighting.

data_out

If TRUE, return the full chance-of-persistence curve instead of the single first-rejection year.

Value

An ede_estimate object, or (if data_out = TRUE) a data frame with columns time and chance.

References

Solow, A. R. (1993b). Inferring extinction in a declining population. Journal of Mathematical Biology, 32(1), 79-82.


Solow (2005) sighting-effort-weighted persistence test

Description

Parametric extension of solow1993() that weights the observation window by cumulative sighting effort (sighting count x time since first sighting) instead of raw elapsed time, giving a more realistic null model when sighting effort was not constant over the record.

Usage

solow2005(sd, alpha = 0.05, test_year, data_out = FALSE)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1). Persistence is rejected for the first candidate year at which the chance of persistence falls to or below alpha.

test_year

Latest year to test. Must be supplied as a number.

data_out

If TRUE, return the full chance-of-persistence curve instead of the single first-rejection year.

Value

An ede_estimate object, or (if data_out = TRUE) a data frame with columns time and chance.

References

Solow, A. R. (2005). Inferring extinction from a sighting record. Mathematical Biosciences, 195(1), 47-55.


Strauss & Sadler (1989) confidence interval for the end of a range

Description

Classical confidence interval for the true endpoint of a temporal range, derived from the distribution of the sample range under a uniform occurrence model. Originally developed for stratigraphic ranges, applied here to sighting records.

Usage

strauss1989(sd, alpha = 0.05)

Arguments

sd

A sighting_data object.

alpha

Significance level, in (0, 1).

Value

An ede_estimate object. Only upper is defined: the method gives a one-sided bound on how much later than the last sighting extinction could plausibly have occurred, not a point estimate with a two-sided interval.

References

Strauss, D., & Sadler, P. M. (1989). Classical confidence intervals and Bayesian probability estimates for ends of local taxon ranges. Mathematical Geology, 21(4), 411-427.


Full confidence curve for the Strauss & Sadler (1989) estimator

Description

Same estimator as strauss1989(), evaluated over a grid of alpha values from 0.01 to 1, for plotting the confidence curve instead of a single bound.

Usage

strauss1989_curve(sd)

Arguments

sd

A sighting_data object.

Value

A data frame with columns time and chance (1 - alpha).