| 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
|
| 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 |
test_year |
Latest year to test. Must be supplied as a number. |
data_out |
If |
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
NAif not defined for this method.- lower, upper
Confidence interval bounds, or
NAif 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 |
test_year |
Latest year to test. Must be later than the last sighting. |
data_out |
If |
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 |
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 |
test_year |
Latest year to test. Must be supplied as a number. |
data_out |
If |
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 |
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 |
test_year |
Latest year to test. Must be supplied as a number. |
data_out |
If |
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).