write.table               package:base               R Documentation

_D_a_t_a _O_u_t_p_u_t

_D_e_s_c_r_i_p_t_i_o_n:

     '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.

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

       x: the object to be written, preferably a matrix or 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 in numeric or complex
          columns: must be a single character.

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.

     ...: further arguments to 'write.table'.

_D_e_t_a_i_l_s:

     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()'.

_N_o_t_e:

     '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.

_S_e_e _A_l_s_o:

     The 'R Data Import/Export' manual.

     'read.table', 'write'.

     'write.matrix' in package 'MASS'.

_E_x_a_m_p_l_e_s:

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

