| write.table {base} | R Documentation |
Data Output
Description
write.table prints its required argument x (after
converting it to a data frame if it is not one nor a matrix) to
a file or connection.
Usage
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",
eol = "\n", na = "NA", dec = ".", row.names = TRUE,
col.names = TRUE, qmethod = c("escape", "double"))
write.csv(..., col.names = NA, sep = ",", qmethod = "double")
write.csv2(..., col.names = NA, dec = ",", sep = ";", qmethod = "double")
Arguments
x |
the object to be written, preferably a matrix or data frame.
If not, it is attempted to coerce |
file |
either a character string naming a file or a connection.
|
append |
logical. If |
quote |
a logical value or a numeric vector. If |
sep |
the field separator string. Values within each row of
|
eol |
the character(s) to print at the end of each line (row). |
na |
the string to use for missing values in the data. |
dec |
the string to use for decimal points in numeric or complex columns: must be a single character. |
row.names |
either a logical value indicating whether the row
names of |
col.names |
either a logical value indicating whether the column
names of |
qmethod |
a character string specifying how to deal with embedded
double quote characters when quoting strings. Must be one of
|
... |
further arguments to |
Details
By default there is no column name for a column of row names. If
col.names = NA and row.names = TRUE a blank column name
is added. This can be used to write CSV files for input to
spreadsheets. write.csv and write.csv2 provide
convenience wrappers for doing so.
If the table has no columns the rownames will be written only if
row.names=TRUE, and vice versa.
Real and complex numbers are written to the maximal possible precision.
If a data frame has matrix-like columns these will be converted to
multiple columns in the result (via as.matrix)
and so a character col.names or a numeric quote should
refer to the columns in the result, not the input. Such matrix-like
columns are unquoted by default.
Any columns in a data frame which are lists or have a class
(e.g. dates) will be converted by the appropriate as.character
method: such columns are unquoted by default. On the other hand,
any class information for a matrix is discarded.
The dec argument only applies to columns that are not subject
to conversion to character because they have a class or are part of a
matrix-like column, in particular to columns protected by
I().
Note
write.table can be slow for data frames with large numbers
(hundreds or more) of columns: this is inevitable as each column could
be of a different class and so must be handled separately. If they
are all of the same class, consider using a matrix instead.
See Also
The ‘R Data Import/Export’ manual.
read.table, write.
write.matrix in package MASS.
Examples
## Not run:
## To write a CSV file for input to Excel one might use
x <- data.frame(a = I("a \" quote"), b = pi)
write.table(x, file = "foo.csv", sep = ",", col.names = NA,
qmethod = "double")
## and to read this file back into R one needs
read.table("foo.csv", header = TRUE, sep = ",", row.names = 1)
## NB: you do need to specify a separator if qmethod = "double".
### Alternatively
write.csv(x, file = "foo.csv")
read.csv("foo.csv", row.names = 1)
## End(Not run)