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]