dcf {base} | R Documentation |
Reads or writes an R object from/to a file in Debian Control File format.
read.dcf(file, fields = NULL, all = FALSE) write.dcf(x, file = "", append = FALSE, indent = 0.1 * getOption("width"), width = 0.9 * getOption("width"))
file |
either a character string naming a file or a connection.
"" indicates output to the console. For read.dcf this
can name a gzip -compressed file. |
fields |
Fields to read from the DCF file. Default is to read all fields. |
all |
a logical indicating whether in case of multiple
occurrences of a field in a record, all these should be gathered.
If all is false (default), only the last such occurrence is
used. |
x |
the object to be written, typically a data frame. If not, it
is attempted to coerce x to a data frame. |
append |
logical. If TRUE , the output is appended to the
file. If FALSE , any existing file of the name is destroyed. |
indent |
a positive integer specifying the indentation for continuation lines in output entries. |
width |
a positive integer giving the target column for wrapping lines in the output. |
DCF is a simple format for storing databases in plain text files that can easily be directly read and written by humans. DCF is used in various places to store R system information, like descriptions and contents of packages.
The DCF rules as implemented in R are:
tag:value
, i.e., have a name
tag and a value for the field, separated by :
(only the first
:
counts). The value can be empty (=whitespace only).
By default, read.dcf
returns a character matrix with one row
per record and one column per field. Leading and trailing whitespace
of field values is ignored. If a tag name is specified, but the
corresponding value is empty, then an empty string is returned. If
the tag name of a field is never used in a record, then NA
is
returned. If fields are repeated within a record, the last one
encountered is returned. Malformed lines lead to an error. If
all
is true, a data frame is returned, again with one row per
record and one column per field, and columns lists of character
vectors for fields with multiple occurrences, and character vectors
otherwise.
write.dcf
does not write NA
fields.
## Create a reduced version of the 'CONTENTS' file in package 'splines' x <- read.dcf(file = system.file("CONTENTS", package = "splines"), fields = c("Entry", "Description")) write.dcf(x)