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 node_poke_car()
or node_poke_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.
duplicate(x, shallow = FALSE)
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. |
Some objects are not duplicable, like symbols and environments.
duplicate()
returns its input for these unique objects.
pairlist
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.