title:: [[& S R and Data Science]]
author:: [[@John Chambers]]
keywords:: data science, statistical computing, scientific computing
doi:: https://doi.org/10.1145/3386334
reference::
publish_year:: 2020
publish_month:: June
publish_iso:: 2020-06-01
----
> In a 2016 book on R, I asserted that its design can be summarized by three principles, [Chambers 2016, pp 4ś11]: objects: Everything that exists in R is an object. functions: Everything that happens in R is a function call. interfaces: Interfaces to other languages are a part of R.
Two characteristics distinguished these S vectors from the basic types in other languages: for all types, elements may be missing, denoted by NA; and there are no scalar types.
Version 3 of S, and therefore R, retained vectors as the core data structure. An extensible facility for defining general object structure was built on this through two features. Vectors could be of type "list", with elements being arbitrary objects; and any vector could have a named list of attributes to specify additional information.u