Skip to contents

A function to generate interval-level pseudo-occurrences for taxa based on temporal ranges (e.g. the output of tax_range_time). While the resulting pseudo-occurrences should not be treated as equivalent to actual occurrence data (e.g. like that from the Paleobiology Database), such pseudo-occurrences may be useful for performing statistical analyses where the row representing a taxon must be replicated for each interval through which the taxon persisted.


  max_ma = "max_ma",
  min_ma = "min_ma",
  scale = "GTS2020",
  rank = "stage",
  ext_orig = TRUE



dataframe. A dataframe of taxa (such as that produced by tax_range_time) with columns for the maximum and minimum ages (FADs and LADs). Each row should represent a unique taxon. Additional columns may be included (e.g. taxon names, additional taxonomy, etc) and will be included in the returned data.frame. If required, numeric ages can be generated from interval names via the look_up function.


character. The name of the column you wish to be treated as the maximum limit (FADs) of the age range (e.g. "max_ma").


character. The name of the column you wish to be treated as the minimum limit (LADs) of the age range (e.g. "min_ma").


character. Specify the desired geological timescale to be used, either "GTS2020" or "GTS2012".


character. Specify the desired stratigraphic rank. Choose from: "stage", "epoch", "period", "era", and "eon".


logical. Should two additional columns be added to identify the intervals in which taxa originated and went extinct?


A dataframe where each row represents an interval during which a taxon in the original user-supplied data persisted. The columns are identical to those in the user-supplied data with additional columns included to identify the intervals. If ext_orig is TRUE, two additional columns are added to identify in which intervals taxa originated and went extinct.


William Gearty & Lewis A. Jones


Lewis A. Jones


taxdf <- data.frame(name = c("A", "B", "C"),
                    max_ma = c(150, 60, 30),
                    min_ma = c(110, 20, 0))
ex <- tax_expand_time(taxdf)