dput {base} | R Documentation

## Write an Internal Object to a File

### Description

Writes an ASCII text representation of an R object to a file or connection, or uses one to recreate the object.

### Usage

    dput(x, file = "", control = "showAttributes")
    dget(file)

### Arguments

`x` | an object.
`file` | either a character string naming a file or a connection. `""` indicates output to the console.
`control` | character vector indicating deparsing options. See `.deparseOpts` for their description.

### Details

`dput` opens `file` and deparses the object `x` into that file. The object name is not written (contrary to `dump`). If `x` is a function the associated environment is stripped. Hence scoping information can be lost.

Deparsing an object is difficult, and not always possible. With the default `control = c("showAttributes")`, `dput()` attempts to deparse in a way that is readable, but for more complex or unusual objects, not likely to be parsed as identical to the original. Use `control = "all"` for the most complete deparsing; use `control = NULL` for the simplest deparsing, not even including attributes.

`dput` will warn if fewer characters were written to a file than expected, which may indicate a full or corrupt file system.

To display saved source rather than deparsing the internal representation include `"useSource"` in `control`. R currently saves source only for function definitions.

### Note

To avoid the risk of a source attribute out of sync with the actual function definition, the source attribute of a function will never be written as an attribute.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

### See Also

`deparse`, `dump`, `write`.

### Examples

    ## Write an ASCII version of mean to the file "foo"
    dput(mean, "foo")
    ## And read it back into 'bar'
    bar <- dget("foo")
    unlink("foo")
    ## Create a function with comments
    baz <- function(x) {
      # Subtract from one
      1-x
    }
    ## and display it
    dput(baz)
    ## and now display the saved source
    dput(baz, control = "useSource")

[Package base version 2.3.1 Index]