When copying environments and all the objects contained within them, there are no copies made: it is a pass-by-reference operation. Sometimes, a deep copy is needed, and sometimes, this must be recursive (i.e., environments inside environments).
Copy(object, filebackedDir, ...) # S4 method for ANY Copy(object, filebackedDir, ...) # S4 method for data.table Copy(object, filebackedDir, ...) # S4 method for environment Copy(object, filebackedDir, ...) # S4 method for list Copy(object, filebackedDir, ...) # S4 method for data.frame Copy(object, filebackedDir, ...) # S4 method for Raster Copy(object, filebackedDir, ...)
object | An R object (likely containing environments) or an environment. |
---|---|
filebackedDir | A directory to copy any files that are backing R objects,
currently only valid for |
... | Only used for custom Methods |
e <- new.env() e$abc <- letters e$one <- 1L e$lst <- list(W = 1:10, X = runif(10), Y = rnorm(10), Z = LETTERS[1:10]) ls(e)#> [1] "abc" "lst" "one"#> [1] "abc" "lst" "one"f$one#> [1] 1f$one <- 2L f$one#> [1] 2e$one ## uh oh, e has changed!#> [1] 2#> [1] "abc" "lst" "one"g$one#> [1] 1g$one <- 3L g$one#> [1] 3f$one#> [1] 1e$one#> [1] 1