How to Export a Data Frame to a CSV File in R (With Examples)

Table of Contents

Exporting data from R to a CSV file is a common task, and the write.csv() function in R makes it easy. This function can be used to export data frames, matrices, and even datasets. To export a data frame to a CSV file, you can use the write.csv() function in R. This function takes two arguments, the data frame name and the file name. To export the data frame df to a CSV file named df.csv, you can use the following code: write.csv(df, “df.csv”). This will save the data frame to a CSV file in the current working directory.


Suppose we have the following data frame in R:

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(78, 85, 93, 90, 91),
                 assists=c(12, 20, 23, 8, 14))

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

Export data frame to a CSV file in R

And if we open the CSV file with a text reader like Notepad, here’s what it looks like:

Export data frame to CSV in R

Related: How to Import CSV Files into R

x