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 already) to file. The entries in each line (row) are separated by the value of sep.

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

Arguments

x the object to be written, typically a data frame. If not, it is attempted to coerce x to a data frame.
file either a character string naming a file or a connection. "" indicates output to the console.
append logical. If TRUE, the output is appended to the file. If FALSE, any existing file of the name is destroyed.
quote a logical value or a numeric vector. If TRUE, any character or factor columns will be surrounded by double quotes. If a numeric vector, its elements are taken as the indices of the columns to quote. In both cases, row and column names are quoted if they are written. If FALSE, nothing is quoted.
sep the field separator string. Values within each row of x are separated by this string.
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.
row.names either a logical value indicating whether the row names of x are to be written along with x, or a character vector of row names to be written.
col.names either a logical value indicating whether the column names of x are to be written along with x, or a character vector of column names to be written.
qmethod a character string specifying how to deal with embedded double quote characters when quoting strings. Must be one of "escape" (default), in which case the quote character is escaped in C style by a backslash, or "double", in which case it is doubled. You can specify just the initial letter.

Details

Normally there is no column name for a column of row names. If col.names=NA a blank column name is added. This can be used to write CSV files for input to spreadsheets.

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. Function write.matrix in package MASS may be much more efficient if x is a matrix or can be represented in a numeric matrix.

See Also

The “R Data Import/Export” manual.

read.table, write.

write.matrix.

Examples

## Not run: 
## To write a CSV file for input to Excel one might use
write.table(x, file = "foo.csv", sep = ",", col.names = NA)
## and to read this file back into R one needs
read.table("file.csv", header = TRUE, sep = ",", row.names=1)
## End(Not run)

[Package Contents]