Suppose we have the following data frame in R:
#create data frame
df #view data frame
df
team points assists
1 A 78 12
2 B 85 20
3 C 93 23
4 D 90 8
5 E 91 14
There are three common ways to export this data frame to a CSV file in R:
1. Use write.csv from base R
If your data frame is reasonably small, you can just use the write.csv function from base R to export it to a CSV file.
When using this method, be sure to specify row.names=FALSE if you don’t want R to export the row names to the CSV file.
write.csv(df, "C:\Users\Bob\Desktop\data.csv", row.names=FALSE)
2. Use write_csv from reader package
An even faster way to export a data frame to a CSV file is with the write_csv function from the reader package. This is about 2x faster than write.csv and it never writes the row names from the data frame to a CSV file.
library(readr) write_csv(df, "C:\Users\Bob\Desktop\data.csv")
3. Use fwrite from data.table package
Yet a faster way (and a recommended method for large datasets) to export a data frame to a CSV file is with the fwrite function from the data.table package. This function is about 2x faster than the write_csv method.
library(data.table) fwrite(df, "C:\Users\Bob\Desktop\data.csv")
Note that in each example we used double backslashes (\) in the file path to avoid the following common error:
Error: 'U' used without hex digits in character string starting ""C:U"
The Output
Each of the three methods above produce an identical CSV file. If we open this file with Excel, here’s what it looks like:
And if we open the CSV file with a text reader like Notepad, here’s what it looks like:
Related: How to Import CSV Files into R