There are many solutions for writing data from R to txt (i.e., tsv: tab-separated values) or csv (comma-separated values) files. In our previous articles, we described R base functions (write.table() and write.csv()) for writing data from R to txt|csv files R.
In this article, well describe a most modern R package readr, developed by Hadley Wickham, for fast reading and writing delimited files. It contains the function write_delim(), write_csv() and write_tsv() to export easily a data from R.
Compared to R base functions (write.csv() and write.table()), readr functions:
- are much faster (X2),
- never write row names.
Preleminary tasks
Launch RStudio as described here: Running RStudio and setting up your working directory
Installing and loading readr
# Installing
install.packages("readr")
# Loading
library("readr")
readr functions for writing data
The function rwrite_delim()[in readr package] is a general function to export a data table from R. Depending on the format of your file, you can also use:
- write_csv(): to write a comma (,) separated values
- write_tsv(): to write a tab separated (\t) values
The simplified format of these functions are, as follow:
# General function
write_delim(x, path, delim = " ")
# Write comma (",") separated value files
write_csv(file, path)
# Write tab ("\t") separated value files
write_tsv(file, path)
- x: a data frame to be written
- path: path to the result file
- delim: Delimiter used to separate values. Must be single character.
Writing data to a file
The R code below exports the built-in Rmtcars data set to a tab-separated ( sep = \t) file called mtcars.txt in the current working directory:
# Loading mtcars data
data("mtcars")
library("readr")
# Writing mtcars data to a tsv file
write_tsv(mtcars, path = "mtcars.txt")
# Writing mtcars data to a csv file
write_csv(mtcars, path = "mtcars.csv")
Summary
Write data from R to a txt (i.e., tsv) file: write_tsv(my_data, path = my_data.txt)
- Write data from R to a csv file: write_csv(my_data, path = my_data.csv)
Infos
This analysis has been performed using R (ver. 3.2.3).