The new constants
package is available on CRAN. This small package provides the CODATA 2014 internationally recommended values of the fundamental physical constants (universal, electromagnetic, physicochemical, atomic…), provided as symbols for direct use within the R language. Optionally, the values with errors and/or the values with units are also provided if the errors
and/or the units
packages are installed as well.
But, what is CODATA? The Committee on Data for Science and Technology (CODATA) is an interdisciplinary committee of the International Council for Science. The Task Group on Fundamental Constants periodically provides the internationally accepted set of values of the fundamental physical constants. The version currently in force is the “2014 CODATA”, published on 25 June 2015.
This package wraps the codata
dataset, defines unique symbols for each one of the 237 constants, and provides them enclosed in three sets of symbols: syms
, syms_with_errors
and syms_with_units
.
library(constants)
# the speed of light
with(syms, c0)
## [1] 299792458
# explore which constants are available
lookup("planck constant", ignore.case=TRUE)
## quantity symbol value unit
## 7 Planck constant h 6.626070040e-34 J s
## 8 Planck constant h_eV 4.135667662e-15 eV s
## 9 Planck constant hbar h/(2*pi) J s
## 10 Planck constant hbar_eV h_eV/(2*pi) eV s
## 11 Planck constant hbar.c0 197.3269788 MeV fm
## 212 molar Planck constant Na.h 3.9903127110e-10 J s mol-1
## 213 molar Planck constant Na.h.c0 0.119626565582 J m mol-1
## rel_uncertainty type
## 7 1.2e-08 universal
## 8 6.1e-09 universal
## 9 1.2e-08 universal
## 10 6.1e-09 universal
## 11 6.1e-09 universal
## 212 4.5e-10 physicochemical
## 213 4.5e-10 physicochemical
# symbols can also be attached to the search path
attach(syms)
# the Planck constant
hbar
## [1] 1.054572e-34
If the errors
/units
package is installed in your system, constants with errors/units are available:
attach(syms_with_errors)
# the Planck constant with error
hbar
## 1.05457180(1)e-34
attach(syms_with_units)
# the Planck constant with units
hbar
## 1.054572e-34 J*s
The dataset is available for lazy loading:
data(codata)
head(codata)
## quantity symbol value unit
## 1 speed of light in vacuum c0 299792458 m s-1
## 2 magnetic constant mu0 4*pi*1e-7 N A-2
## 3 electric constant epsilon0 1/(mu0*c0^2) F m-1
## 4 characteristic impedance of vacuum Z0 mu0*c0 Ω
## 5 Newtonian constant of gravitation G 6.67408e-11 m3 kg-1 s-2
## 6 Newtonian constant of gravitation G_hbar.c0 6.70861e-39 GeV-2 c4
## rel_uncertainty type
## 1 0.0e+00 universal
## 2 0.0e+00 universal
## 3 0.0e+00 universal
## 4 0.0e+00 universal
## 5 4.7e-05 universal
## 6 4.7e-05 universal
dplyr::count(codata, type, sort=TRUE)
## # A tibble: 15 x 2
## type n
## <chr> <int>
## 1 atomic-nuclear-electron 31
## 2 atomic-nuclear-proton 26
## 3 atomic-nuclear-neutron 24
## 4 physicochemical 24
## 5 atomic-nuclear-helion 18
## 6 atomic-nuclear-muon 17
## 7 electromagnetic 17
## 8 universal 16
## 9 atomic-nuclear-deuteron 15
## 10 atomic-nuclear-general 11
## 11 atomic-nuclear-tau 11
## 12 atomic-nuclear-triton 11
## 13 adopted 7
## 14 atomic-nuclear-alpha 7
## 15 atomic-nuclear-electroweak 2
[…] article was first published on R – Enchufa2, and kindly contributed to […]
Thank you for this package. It looks potentially valuable. I don’t know why this is not available as a binary for Macs running ElCap but it compiles without difficulty on my box (early 2008 MacPro, El Capitan, R 3.4.0).
Thanks, David. I submitted it just two days ago, and it takes a while until all the binaries are available.