save {base}R Documentation

Save R Objects


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").


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)


... 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.


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. 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. 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.


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.


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

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

[Package Contents]