This is an R data package with data in YAML format (for ease of entry and to more easily keep track of metadata) including necessary R code to import said data into a rectangularized tibble.
The dataset contains around 70 properties of the chemical elements. The package has two vignettes; the first demonstrates how the YAML file is read and saved into the tibble exported by this package, the second show-cases how the data can be used to visualize different properties on the canvas of the periodic table.
My hope is that this package will make it easier for chemists, teachers, and anyone interested in chemistry to generate periodic tables of whatever trend they wish to visualize.
IUPAC periodic tableTo install this package:
install.packages("remotes")
remotes::install_github("solarchemist/periodicdata")
To also build the vignettes when installing this package, modify the last line to:
remotes::install_github("solarchemist/periodicdata", build_opts = c("--no-resave-data", "--no-manual"), build_vignettes = TRUE)
This list of all the properties in this dataset is dynamically generated from the YAML dataset every time the vignette is rebuilt:
Your contributions are most welcome! Please report corrections as an issue or PR.
To add more data to the dataset, check out this repository and edit the
YAML file inst/extdata/periodicdata.yml.
To rebuild the package, I recommend you run the provided bash script in
tools/. You will of course need R. Other rebuild requirements are
To checkout this repository:
$ git clone https://github.com/solarchemist/periodicdata.gitTo rebuild the package after having made edits to the YAML data:
$ rebuild_package.sh --refresh-dataThe rebuild script has more functionality; use the --help flag or read
its source code to familiarize yourself.
As part of the rebuild procedure R CMD check runs and should complete
without any errors, warnings, or notes.
It is not really possible for me to keep track of how anyone uses this package, nor do I have such an intention. But if you feel like letting me know how you made use of this data or visualizations in your teaching or work, I will gladly list you here!
- Chemistry Student Handbook, by prof. Eric Van Dornshuld, University of Georgia (2023). CC BY-NC-SA 4.0. Visualizes common periodic trends and kindly credits me and this package.
I released this package in 2019 spurred by the International Year of Chemistry (#IYPT2019), building mostly on earlier work which I had until then not packaged:
- Properties of the elements: data collection and ggplot2 tables, Ahmed (2014)
- All available elemental properties plotted as periodic tables, Ahmed (2015)
These original web scraping scripts are preserved as package articles in the vignettes directory, but no longer fill any role in maintaining this dataset.
- Periodic table of elements by IUPAC
- periodictable.com, provides “curated data provided by Mathematica’s ElementData function from Wolfram Research, Inc.” on their website as HTML/CSS tables
- Wolfram’s
ElementData()function - Wolfram’s
ElementData()function - sources - https://periodic-table.io
- NIST Chemistry WebBook
- webelements.com by Winter, M. (2007)
- Atomic Weights and Isotopic Compositions with Relative Atomic Masses, NIST Physical Measurement Laboratory
- Atomic Mass Data Center, NUBASE
- Barbalace, K. “Periodic Table of Elements.” 2007
- Elements in the Human Body and What They Do
- Vesborg & Jaramillo, Addressing the terawatt challenge: scalability in the supply of chemical elements for renewable energy. RSC Advances 2, 7933–7947 (2012).
- pTable: equation balancer, solution calculator and chemistry database, Python (10+ stars, ~30 properties)
- Periodic elements data, npm (100+ stars, ~20 properties)
- PeriodicTable.jl, Julia (20+ stars, ~20 properties with unitful physical quantities)
- Periodic-Table-JSON, simply a JSON file (100+ stars, ~20 properties)
- Extensible periodic table with x-ray and neutron scattering data, Python (60+ stars)
- PeriodicTable, R package on CRAN, ~25 properties by Julien Idé, with data from Data Explorer
- QCElemental, Python (50+ stars, exposes NIST CODATA, quantum chemistry data, and more)
- GTK-Periodic-Table-Molecular-Formula, C++ (<10 stars, ~20 properties)
- Periodica.Data, .NET (<10 stars, ~20 properties)
- Chemistry Utility, Python script with JSON/spreadsheets (<10 stars, ~70 properties)
- Comprehensive Periodic Table of the Elements Scrape, Python script with JSON/spreadsheets (<10 stars, ~700 properties)
- chemr, R package which uses Wikipedia’s chemical elements data (<10 stars, ~10 properties)
- mendeleev package, Python (10+ stars, ~60 properties). Authored by Łukasz Mentel. Project supported by the Norwegian Research Council.
- List of chemical elements, Wikipedia (~10 properties)
- NIST Chemistry WebBook
- NIST Atomic Weights and Isotopic Compositions with Relative Atomic Masses

