save {base} | R Documentation

## Save R Objects

### Description

`save` writes an external representation of R objects to the specified file. The objects can be read back from the file at a later date by using the function `load` (or `data` in some cases).

`save.image()` is just a short-cut for “save my current environment”, i.e., `save(list = ls(all=TRUE), file = ".RData")`. It is what also happens with `q("yes")`.

### Usage

    save(..., list = character(0), file = stop("'file' must be specified"),
         ascii = FALSE, version = NULL, envir = parent.frame(),
         compress = FALSE)
    save.image(file = ".RData", version = NULL, ascii = FALSE,
               compress = FALSE, safe = TRUE)

    sys.load.image(name, quiet)
    sys.save.image(name)

### Arguments

`...` | the names of the objects to be saved.
`list` | A character vector containing the names of objects to be saved.
`file` | a connection or the name of the file where the data will be saved. Must be a file name for workspace format version 1.
`ascii` | if `TRUE`, an ASCII representation of the data is written. This is useful for transporting data between machines of different types. The default value of `ascii` is `FALSE` which leads to a more compact binary file being written.
`version` | the workspace format version to use. `NULL` specifies the current default format. The version used from R 0.99.0 to R 1.3.1 was version 1. The default format as from R 1.4.0 is version 2.
`envir` | environment to search for objects to be saved.
`compress` | logical specifying whether saving to a named file is to use compression. Ignored when `file` is a connection and for workspace format version 1.
`safe` | logical. If `TRUE`, a temporary file is used for creating the saved workspace. The temporary file is renamed to `file` if the save succeeds. This preserves an existing workspace `file` if the save fails, but at the cost of using extra disk space during the save.
`name` | name of image file to save or load.
`quiet` | logical specifying whether a message should be printed.

### Details

All R platforms use the XDR representation of binary objects in binary save-d files, and these are portable across all R platforms.

Default values for the `ascii`, `compress`, `safe` and `version` arguments can be modified with the `save.defaults` option (used both by `save` and `save.image`). If a `save.image.defaults` option is set it overrides `save.defaults` for function `save.image` (which allows to have different defaults). This mechanism is experimental and subject to change.

`sys.save.image` is a system function that is called by `q()` and its GUI analogs; `sys.load.image` is called by the startup code. These functions should not be called directly and are subject to change.

`sys.save.image` closes all connections first, to ensure that it is able to open a connection to save the image. This is appropriate when called from `q()` and allies, but reinforces the warning that it should not be called directly.

### Warning

The `...` arguments only give the names of the objects to be saved: they are searched for in the environment given by the `envir` argument, and the actual objects given as arguments need not be those found.

Saved R objects are binary files, even those saved with `ascii=TRUE`, so ensure that they are transferred without conversion of end of line markers. The lines are delimited by LF on all platforms.

### See Also

`dput`, `dump`, `load`, `data`.

### Examples

    x <- runif(20)
    y <- list(a = 1, b = TRUE, c = "oops")
    save(x, y, file = "xy.Rdata")
    save.image()
    unlink("xy.Rdata")
    unlink(".RData")

    # set save defaults using option:
    options(save.defaults=list(ascii=TRUE, safe=FALSE))
    save.image()
    unlink(".RData")

[Package Contents]