Prevent row names to be written to file when using write.csv Prevent row names to be written to file when using write.csv r r

Prevent row names to be written to file when using write.csv


write.csv(t, "t.csv", row.names=FALSE)

From ?write.csv:

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.


For completeness, write_csv() from the readr package is faster and never writes row names

# install.packages('readr', dependencies = TRUE)library(readr)write_csv(t, "t.csv")

If you need to write big data out, use fwrite() from the data.table package. It's much faster than both write.csv and write_csv

# install.packages('data.table')library(data.table)fwrite(t, "t.csv")

Below is a benchmark that Edouard published on his site

microbenchmark(write.csv(data, "baseR_file.csv", row.names = F),               write_csv(data, "readr_file.csv"),               fwrite(data, "datatable_file.csv"),               times = 10, unit = "s")## Unit: seconds##                                              expr        min         lq       mean     median         uq        max neval##  write.csv(data, "baseR_file.csv", row.names = F) 13.8066424 13.8248250 13.9118324 13.8776993 13.9269675 14.3241311    10##                 write_csv(data, "readr_file.csv")  3.6742610  3.7999409  3.8572456  3.8690681  3.8991995  4.0637453    10##                fwrite(data, "datatable_file.csv")  0.3976728  0.4014872  0.4097876  0.4061506  0.4159007  0.4355469    10