Saving Multiple Dataframes to One CSV File and Loading Them Back into Separate Dataframes in R

Saving and Loading Multiple Dataframes from One CSV

===========================================================

When working with data in R, it’s common to have multiple dataframes that need to be saved and loaded at a later time. In this article, we’ll explore ways to save three dataframes of different dimensions to one CSV file and then load them into separate dataframes.

Introduction


In this section, we’ll introduce the basics of R’s dataframe management and loading CSV files.

R provides an extensive range of libraries for handling data, including dplyr, tidyr, and readr. These libraries provide functions to manipulate and analyze data. In this article, we’ll use the built-in data.frame function to create dataframes and the write.csv function to save them to a CSV file.

Creating Dataframes


Basic Dataframe Creation

Dataframes are created using the data.frame() function in R.

# Create a sample dataframe
set.seed(123)
A <- data.frame(x = rnorm(10), y = runif(10))
B <- data.frame(x = rnorm(15, mean=1, sd=2), z = rpois(15, 5))
C <- data.frame(a = c("apple", "banana", "cherry"), b = 10:20)

In the above code:

  • We create three separate dataframes using data.frame().
  • Each dataframe has different variables and dimensions.

Saving Dataframes to a CSV File


Using write.table()

One common method of saving dataframes to a CSV file is by using the write.table() function.

# Write dataframe A to a CSV file
write.table(A, file = "A.csv", row.names = FALSE, col.names = FALSE, sep=',')

In this code:

  • We use write.table() to save the dataframe A to a CSV file named “A.csv”.
  • The row.names = FALSE and col.names = FALSE arguments remove the row and column names from the output CSV file.
  • The sep = ',' argument specifies that commas should be used as the separator between values.

Using write.csv()

Another method is using the write.csv() function, which is more convenient for larger dataframes or when working with other languages like Python or SQL.

# Write dataframe B to a CSV file
write.csv(B, "B.csv", row.names = FALSE)

In this code:

  • We use write.csv() to save the dataframe B to a CSV file named “B.csv”.
  • The row.names = FALSE argument removes the row names from the output CSV file.

Saving Multiple Dataframes to One CSV File

We can also write multiple dataframes to one CSV file using the rbind() function, as shown in the question.

# Create a new dataframe C
set.seed(456)
C <- data.frame(d = c("dog", "cat", "bird"), e = 3:5)

# Write all three dataframes to one CSV file
write.csv(rbind(A, B, C), "di2.csv")

In this code:

  • We use rbind() to combine the three dataframes into a single dataframe.
  • We then write this new dataframe to a CSV file named “di2.csv”.

Loading Dataframes from a CSV File


Using read.csv()

Once we have saved our dataframes to one or more CSV files, we can load them back into R using the read.csv() function.

# Load dataframe A from the CSV file
A <- read.csv("A.csv")

In this code:

  • We use read.csv() to load the dataframe A from the CSV file named “A.csv”.
  • The resulting dataframe is assigned back to the original variable name A.

Using rbind()

We can also use rbind() to combine multiple CSV files into a single dataframe.

# Load dataframes B and C from their CSV files
B <- read.csv("B.csv")
C <- read.csv("C.csv")

# Combine all three dataframes using rbind()
df <- rbind(A, B, C)

In this code:

  • We use read.csv() to load the dataframes B and C from their respective CSV files.
  • We then combine these two dataframes with rbind() along with dataframe A.

Using read.csv() with append=TRUE

If we want to write multiple dataframes to a single CSV file without overwriting the existing data, we can use the append=TRUE argument in write.csv() or read.csv().

# Write dataframe C to the same CSV file
write.csv(C, "di2.csv", row.names = FALSE, append=TRUE)

In this code:

  • We use write.csv() to write the new dataframe C to the existing CSV file named “di2.csv”.
  • The append=TRUE argument appends the new data to the end of the existing file.

Loading Dataframes from a CSV File with read.csv()

We can also load multiple CSV files into separate dataframes using read.csv() and the file = argument.

# Load all three dataframes from their CSV files
df_A <- read.csv("A.csv")
df_B <- read.csv("B.csv")
df_C <- read.csv("C.csv")

In this code:

  • We use read.csv() to load each dataframe into a separate variable.

Saving and Loading Dataframes with RData Files


Another method of saving multiple dataframes is by using RData files. This allows us to save an entire R environment, including the data, functions, and variables.

# Save all three dataframes to an RData file
save(A_table, B_table, C_table, file="temp.Rdata")

In this code:

  • We use save() to store the three dataframes A, B, and C in a single RData file named “temp.Rdata”.

To load these dataframes from the RData file, we can simply run:

# Load all three dataframes from the RData file
load("temp.Rdata")

In this code:

  • We use load() to retrieve the saved dataframes from the RData file.

Conclusion


We have seen how to save multiple dataframes of different dimensions to one CSV file and load them back into separate dataframes. There are also methods for combining multiple dataframes using rbind() or read.csv(). Additionally, we can use RData files to store an entire R environment. By mastering these techniques, you can efficiently manage your data in R.

Additional Tips


Use descriptive variable names

  • Using descriptive variable names helps clarify the purpose of each dataframe and makes it easier to understand your code.
  • For example, instead of using df_A, use customer_data.

Use comments and documentation

  • Including comments and documentation in your code makes it easier for others (and yourself!) to understand what’s going on.
  • Comments can be used to explain why a particular line of code was written that way or to document complex algorithms.

Practice and experiment

  • Don’t be afraid to try new things!
  • Experimenting with different techniques will help you become more comfortable with R and improve your skills.

Last modified on 2025-03-14