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.