delayed-ops {matter} | R Documentation

## Delayed Operations on “matter” Objects

### Description

Some arithmetic, comparison, and logical operations are available as delayed operations on `matter` objects. With these operations, no out-of-memory data is changed, and the operation is only executed when elements of the object are actually accessed.

### Details

Currently the following delayed operations are supported:

‘Arith’: ‘+’, ‘-’, ‘*’, ‘/’, ‘^’, '

‘Compare’: ‘==’, ‘>’, ‘<’, ‘!=’, ‘<=’, ‘>=’

‘Logic’: ‘&’, ‘|’

‘Ops’: ‘Arith’, ‘Compare’, ‘Logic’

‘Math’: ‘exp’, ‘log’, ‘log2’, ‘log10’

Delayed operations are applied at the C++ layer immediately after the elements are read from virtual memory. This means that operations that are implemented in C and/or C++ for efficiency (such as summary statistics) will also reflect the execution of the delayed operations.

### Value

A new `matter` object with the registered delayed operation. Data in storage is not modified; only object metadata is changed.

### Author(s)

Kylie A. Bemis

### See Also

`Arith`, `Compare`, `Logic`, `Ops`, `Math`

### Examples

    x <- matter(1:100)
    y <- 2 * x + 1

    x[1:10]
    y[1:10]

    mean(x)
    mean(y)

[Package matter version 1.18.0 Index]