dput {base}R Documentation

Write an Object to a File or Recreate it


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


dput(x, file = "",
     control = c("keepNA", "keepInteger", "showAttributes"))



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.


dput opens file and deparses the object x into that file. The object name is not written (unlike 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, 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.


For dput, the first argument invisibly.
For dget, the object created.


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.


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

See Also

deparse, dump, write.


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

[Package base version 2.5.0 Index]