Skip to content

Latest commit

 

History

History
315 lines (239 loc) · 12.7 KB

gloss.md

File metadata and controls

315 lines (239 loc) · 12.7 KB

Glossary

Absolute row number : The sequential index of a row in a table, regardless of what sections of the table is being displayed.

Aggregation : To combine many values into one, e.g., by summing a set of numbers or concatenating a set of strings.

Alias : To have two (or more) references to the same physical data.

Anonymous function : A function that has not been assigned a name. Anonymous functions are usually quite short, and are usually defined where they are used, e.g., as callbacks.

Attribute : A name-value pair associated with an object, used to store metadata about the object such as an array's dimensions.

Catch (exception) : To accept responsibility for handling an error or other unexpected event. R prefers "handling a condition" to "catching an exception".

Condition : An error or other unexpected event that disrupts the normal flow of control. See also handle.

Constructor (class) : A function that creates an object of a particular class. In the S3 object system, constructors are a convention rather than a requirement.

Copy-on-modify : The practice of creating a new copy of aliased data whenever there is an attempt to modify it so that each reference will believe theirs is the only one.

Double square brackets : An index enclosed in [[...]], used to return a single value of the underlying type. See also single square brackets.

Eager evaluation : Evaluating an expression as soon as it is formed.

Empty vector : A vector that contains no elements. Empty vectors have a type such as logical or character, and are not the same as null.

Environment : A structure that stores a set of variable names and the values they refer to.

Error : The most severe type of built-in condition in R.

Evaluating function : A function that takes arguments as values. Most functions are evaluating functions.

Evaluation : The process of taking a complex expression such as 1+2*3/4 and turning it into a single irreducible value.

Exception : An object containing information about an error, or the condition that led to the error. R prefers "handling a condition" to "catching an exception".

Filter : To choose a set of records according to the values they contain.

Fully qualified name : An unambiguous name of the form package::thing.

Functional programming : A style of programming in which functions transform data rather than modifying it. Functional programming relies heavily on higher-order functions.

Generic function : A collection of functions with similar purpose, each operating on a different class of data.

Global environment : The environment that holds top-level definitions in R, e.g., those written directly in the interpreter.

Group : To divide data into subsets according to some criteria while leaving records in a single structure.

Handle (a condition) : To accept responsibility for handling an error or other unexpected event. R prefers "handling a condition" to "catching an exception".

Helper (class) : In S3, a function that constructs and validates an instance of a class.

Heterogeneous : Potentially containing data of different types. Most vectors in R are homogeneous, but lists can be heterogeneous.

Higher-order function : A function that takes one or more other functions as parameters. Higher-order functions such as map are commonly used in functional programming.

Homogeneous : Containing data of only a single type. Most vectors in R are homogeneous.

Hubris : Excessive pride or self-confidence. See also unit test (lack of).

ISO3 country code : A three-letter code defined by ISO 3166-1 that identifies a specific country, dependent territory, or other geopolitical entity.

Lazy evaluation : Delaying evaluation of an expression until the value is actually needed (or at least until after the point where it is first encountered).

List : A vector that can contain values of many different types.

List comprehension : An expression that generates a new list from an existing one via an implicit loop.

Logical indexing : To index a vector or other structure with a vector of Booleans, keeping only the values that correspond to true values.

Message : The least severe type of built-in condition in R.

Method : An implementation of a generic function that handles objects of a specific class.

NA : A special value used to represent data that is Not Available.

Name collision : A situation in which the same name has been used in two different packages which are then used together, leading to ambiguity.

Named list : FIXME

Negative selection : To specify the elements of a vector or other data structure that aren't desired by negating their indices.

Null : A special value used to represent a missing object. NULL is not the same as NA, and neither is the same as an empty vector.

Package : A collection of code, data, and documentation that can be distributed and re-used.

Pipe operator : The %>% used to make the output of one function the input of the next.

Prefix operator : An operator that comes before the single value it operates on, such as the - in -(a*b).

Promise : A data structure used to record an unevaluated expression for lazy evaluation.

Pull indexing : Vectorized indexing in which the value at location i in the index vector specifies which element of the source vector is being pulled into that location in the result vector, i.e., result[i] = source[index[i]]. See also push indexing.

Push indexing : Vectorized indexing in which the value at location i in the index vector specifies an element of the result vector that gets the corresponding element of the source vector, i.e., result[index[i]] = source[i]. Push indexing can easily produce gaps and collisions. See also pull indexing.

Quosure : A data structure containing an unevaluated expression and its environment.

Quoting function : A function that is passed expressions rather than the values of those expressions.

Raise (exception) : A way of indicating that something has gone wrong in a program, or that some other unexpected event has occurred. R prefers "signalling a condition" to "raising an exception".

Range expression : An expression of the form low:high that is transformed a sequence of consecutive integers.

Reactive programming : A style of programming in which actions are triggered by external events.

Reactive variable : A variable whose value is automatically updated when some other value or values change.

Recycle : To re-use values from a shorter vector in order to generate a sequence of the same length as a longer one.

Regular expression : A pattern for matching text. Regular expressions are themselves written as text, which makes them as cryptic as they are powerful.

Relative row number : The index of a row in a displayed portion of a table, which may or may not be the same as the absolut row number within the table.

Repository : The place where a version control system stores a project's files and the metadata used to record their history.

S3 : A framework for object-oriented programming in R.

Scalar : A single value of a particular type, such as 1 or "a". Scalars don't really exist in R; values that appear to be scalars are actually vectors of unit length.

Select : To choose entire columns from a table by name or location.

Setup (testing) : Code that is automatically run once before each unit test.

Signal (a condition) : A way of indicating that something has gone wrong in a program, or that some other unexpected event has occurred. R prefers "signalling a condition" to "raising an exception".

Single square brackets : An index enclosed in [...], used to select a structure from another structure. See also double square brackets.

Storage allocation : Setting aside a block of memory for future use.

Teardown (testing) : Code that is automatically run once after each unit test.

Test fixture : The data structures, files, or other artefacts on which a unit test operates.

Test runner : A software tool that finds and runs unit tests.

Tibble : A modern replacement for R's data frame, which stores tabular data in columns and rows, defined and used in the tidyverse.

Tidyverse : A collection of R packages for operating on tabular data in consistent ways.

Unit test : A function that tests one aspect or property of a piece of software.

Validator (class) : A function that checks the consistency of an S3 object.

Variable arguments : In a function, the ability to take any number of arguments. R uses ... to capture the "extra" arguments.

Vector : A sequence of values, usually of homogeneous type. Vectors are the fundamental data structure in R; scalars are actually vectors of unit length.

Vectorize : To write code so that operations are performed on entire vectors, rather than element-by-element within loops.

Warning : A built-in condition in R of middling severity.

Widget : An interactive control element in an user interface.