This package provides an R interface to the ROCEEH Out of Africa Database (ROAD), a comprehensive resource for archaeological, anthropological, paleoenvironmental and geographic data from Africa and Eurasia dating between 3,000,000 and 20,000 years BP.
The package is avaliable on CRAN and allows users to retrieve data from the online database at different levels of detail and customize search requests.
Functions return data frame objects compatible with other R packages used in prehistoric and paleoenvironmental science, supporting reproducible workflows as an input provider.
The package is maintained by Christian Sommer, Zara Kanaeva, Timo Streicher and Jesper Borre Pedersen at the Research Center The Role of Culture in Early Expansions of Humans (ROCEEH) and is funded by the Heidelberg Academy of Sciences and Humanties.
This package provides online access to a regularly updated snapshot of the ROAD database.
A stable internet connection is required when working with roadDB.
Current status: 🟢 Online
Current snapshot: 📅 2026-03-13
🚧 A scheduled downtime is planned for 2026-03-28.
An introduction to the package with example workflows can be found at https://www.sommergeo.com/roadDB/tutorial.html
This package is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). Contents retrieved from the ROAD database are published under the same license and should be cited as
Kandel, A. W., Sommer, C., Kanaeva, Z., Bolus, M., Bruch, A. A., Groth, C., Haidle, M. N., Hertler, C., Heß, J., Malina, M., Märker, M., Hochschild, V., Mosbrugger, V., Schrenk, F., & Conard, N. J. (2023). The ROCEEH Out of Africa Database (ROAD): A large-scale research database serves as an indispensable tool for human evolutionary studies. PLOS ONE, 18(8), e0289513. https://doi.org/10.1371/journal.pone.0289513
ROAD is continuously growing and updated, and therefore a comprehensive, but not complete archive of early human prehistory. All data are curated by researchers and trained research assistants, but still may contain errors. Information is recorded closely following the interpretations of the original literature and does not necessarily reflect the views of the database curators.
Please critically evaluate results obtained via roadDB, verify them against the original literature, retrieve references using road_get_publications() and check for new publications not yet entered.
roadDB covers the most frequently used tables and columns of ROAD. For additional fields, complex SQL queries, or full database access, please register and log in to ROAD.
If you find errors, please contact info@roceeh.net.
# CRAN installation
install.packages(roadDB)
# Github installation
# Windows users are required to install Rtools: https://cran.r-project.org/bin/windows/Rtools/
install.packages("devtools")
devtools::install_github("sommergeo/roadDB")
The roadDB package has three main levels of detail (LOD) that follow a hierarchical order: (1) Localities, (2) Assemblages and (3) Dates & Publications. For example, a locality can have multiple assemblages, and each assemblage can have multiple dates associated with it.
Fig: Three Levels of Detail (LODs) for data retrieval.
Users can query information at different LODs using dedicated functions that follow the road_get_* naming convention. These return dataframes where each row represents an item at the requested granularity and includes attribute columns relevant to those items.
An extensive set of arguments can be applied to all road_get_* functions, allowing users to refine their queries and tailor the results to their needs.
As the ROAD database offers exceptionally rich information at the assemblage level, there are subordinate functions for querying human remains, archaeology, palaeofauna and palaeobotany.
Fig: Crosstable of functions and compatible arguments. Download
# 1st level of detail:
road_get_localities()
# 2nd level of detail:
road_get_assemblages()
road_get_human_remains()
road_get_paleofauna()
road_get_plantremains()
## archaeology-related:
road_get_lithic_typologies()
road_get_lithic_raw_materials()
road_get_organic_tools()
road_get_symbolic_artifacts()
road_get_features()
road_get_miscellaneous_finds()
# 3rd level of detail:
road_get_dates()
road_get_publications()
# Helper functions:
road_list_argument_values()
road_summarize_archaeology()
The following arguments are optional and can be used with every road_get_* function to constrain queries.
| Argument | Type | ROAD table / attribute | Search type | Example |
|---|---|---|---|---|
continent |
character | country_continent / continent | exact | "Africa" |
subcontinent |
character | country_continent / region | exact | "Southern Africa" |
country |
character | locality / country | exact | "South Africa" |
locality_type |
character | locality / type | exact | "rock shelter" |
category |
character | assemblage / category | exact | "symbolic artifacts, typology" |
age_min |
numeric | archaeological_stratigraphy / age_min | exact | 20000 |
age_max |
numeric | archaeological_stratigraphy / age_max | exact | 3000000 |
technocomplex |
character | archaeological_stratigraphy /technocomplex | exact | "ESA/ Early Acheulean" |
cultural_period |
character | archaeological_stratigraphy / cultural_period | exact | "Middle Stone Age" |
The following arguments are optional and can be used with the corresponding road_get_* function to constrain queries.
| Argument | Type | ROAD table / attribute | Search type | Example(s) |
|---|---|---|---|---|
tool_list |
character | typology / tool_list | contains | "core 29, bladelet 136, blade 1090" |
raw_material_list |
character | raw_material / raw_material_list | contains | "ironstone banded" |
transport_distance |
character | raw_material / transport_distance | exact | "regional (6-20 km)" |
organic_tool_interpretation |
character | organic_tools / interpretation | contains | "harpoon", "worked", "retoucher" |
symbolic_artifact_interpretation |
character | symbolic_artifacts / interpretation | contains | "anthropomorphic" |
feature_interpretation |
character | feature / interpretation | exact | "stone construction" |
miscellaneous_find_material |
character | miscellaneous_finds / material | exact | "ostrich egg shell", "metal" |
human_genus |
character | publication_desc_humanremains / genus | exact | "Homo", "Paranthropus" |
human_species |
character | publication_desc_humanremains / species | exact | "sapiens rhodesiensis", "cf. sapiens" |
plant_remains |
character | plantremains / plant_remains | exact | "phytoliths", "plant macroremains" |
plant_family |
character | plant_taxonomy / family | exact | "Anarcadiaceae", "Phyllanthaceae" |
plant_genus |
character | plant_taxonomy / genus | exact | "Jasione", "Larix/Picea" |
plant_species |
character | plant_taxonomy / species | exact | "Potamogeton gramineus L." |
fauna_genus |
character | taxonomical_classification / genus | exact | "Lemniscomys", "Hipposideros" |
fauna_species |
character | paleofauna / species | exact | "cf. germanicus", "atapuerquensis" |
bibtex |
character | publication / edition / publication_source | exact | "TRUE", "FALSE" |
The following table provides an overview of returned attributes.
| Attribute | Function | Type |
|---|---|---|
locality_id |
road_get_* |
character |
continent |
road_get_* |
character |
subcontinent |
road_get_* |
character |
country |
road_get_* |
character |
coord_x |
road_get_* |
number |
coord_y |
road_get_* |
number |
locality_type |
road_get_* |
character |
category |
road_get_* |
character |
cultural_period |
road_get_* |
character |
technocomplex |
road_get_* |
character |
coordinate_source |
road_get_localities |
character |
subset_age_min |
road_get_localities |
number |
subset_age_max |
road_get_localities |
number |
locality_age_min |
road_get_localities |
number |
locality_age_max |
road_get_localities |
number |
is_systematic |
road_get_assemblages |
character |
geolayer |
road_get_* (except road_get_localities) |
character |
archlayer |
road_get_* (except road_get_localities) |
character |
human_remains |
road_get_assemblages |
boolean |
archaeology |
road_get_assemblages |
boolean |
plant_remains |
road_get_assemblages |
boolean |
paleofauna |
road_get_assemblages |
boolean |
age_min |
road_get_* (except road_get_localities) |
number |
age_max |
road_get_* (except road_get_localities) |
number |
assemblage_name |
road_get_* (except road_get_localities) |
character |
comment |
archaeological road_get_* |
character |
tool_list |
road_get_lithic_typologies |
character |
typology |
road_get_lithic_typologies |
character |
percentage |
road_get_lithic_typologies |
character |
raw_material_list |
road_get_lithic_raw_materials |
character |
transport_distance |
road_get_lithic_raw_materials |
character |
percentage |
road_get_lithic_raw_materials |
character |
organic_tool_interpretation |
road_get_organic_tools |
character |
organic_raw_material |
road_get_organic_tools |
character |
organic_tool_technology |
road_get_organic_tools |
character |
number |
road_get_organic_tools |
character |
symbolic_artifact_interpretation |
road_get_symbolic_artifacts |
character |
symbolic_artifact_category |
road_get_symbolic_artifacts |
character |
symbolic_artifact_material |
road_get_symbolic_artifacts |
character |
symbolic_artifact_raw_material_source |
road_get_symbolic_artifacts |
character |
symbolic_artifact_technology |
road_get_symbolic_artifacts |
character |
feature_interpretation |
road_get_features |
character |
miscellaneous_find_material |
road_get_miscellaneous_finds |
character |
miscellaneous_find_raw_material_source |
road_get_miscellaneous_finds |
character |
number |
road_get_miscellaneous_finds |
number |
human_remains_id |
road_get_human_remains |
number |
human_remains_category |
road_get_human_remains |
character |
genus |
road_get_human_remains |
character |
species |
road_get_human_remains |
character |
age |
road_get_human_remains |
character |
sex |
road_get_human_remains |
character |
skeletal_element |
road_get_human_remains |
character |
fauna_genus |
road_get_paleofauna |
character |
fauna_species |
road_get_paleofauna |
character |
mni |
road_get_paleofauna |
number |
mni_method |
road_get_paleofauna |
character |
nisp |
road_get_paleofauna |
number |
plant_remains |
road_get_plantremains |
character |
plant_family |
road_get_plantremains |
character |
plant_genus |
road_get_plantremains |
character |
plant_species |
road_get_plantremains |
character |
element |
road_get_plantremains |
character |
abundance |
road_get_plantremains |
number |
relative_abundance |
road_get_plantremains |
number |
age |
road_get_dates |
number |
negative_standard_deviation |
road_get_dates |
number |
positive_standard_deviation |
road_get_dates |
number |
material_dated |
road_get_dates |
character |
dating_method |
road_get_dates |
character |
laboratory_idlaboratory |
road_get_dates |
character |
publication |
road_get_publications |
character |

