duplicate

0th

Percentile

Duplicate an R object

In R semantics, objects are copied by value. This means that modifying the copy leaves the original object intact. Since, copying data in memory is an expensive operation, copies in R are as lazy as possible. They only happen when the new object is actually modified. However, some operations (like mut_node_car() or mut_node_cdr()) do not support copy-on-write. In those cases, it is necessary to duplicate the object manually in order to preserve copy-by-value semantics.

Usage
duplicate(x, shallow = FALSE)
Arguments
x

Any R object. However, uncopyable types like symbols and environments are returned as is (just like with <-).

shallow

This is relevant for recursive data structures like lists, calls and pairlists. A shallow copy only duplicates the top-level data structure. The objects contained in the list are still the same.

Details

Some objects are not duplicable, like symbols and environments. duplicate() returns its input for these unique objects.

See Also

pairlist

Aliases
  • duplicate
Documentation reproduced from package rlang, version 0.1.6, License: GPL-3

Community examples

Looks like there are no examples yet.