1

I have more than 2 dataframes that I want to merge in one single dataframe. All the dataframes have 1 column in common. The function that I usually use to merge tables is merge but I cannot (or at least I don't know) how to do use it if I have more than 2 tables.

I have written an example of how I usually solve this problem.

Each individual dataframe:

df1 <- data.frame(Index=seq(6),letters1 = letters[seq( from = 1, to = 6 )])
df2 <- data.frame(Index=seq(6),letters2 = letters[seq( from = 6, to = 11 )])
df3 <- data.frame(Index=seq(6),letters3 = letters[seq( from = 12, to = 17 )])
df4 <- data.frame(Index=seq(6),letters4 = letters[seq( from = 18, to = 23)])
df5 <- data.frame(Index=seq(6),letters5 = letters[seq( from = 4, to = 9 )])

When I want to merge all the dataframes in one single table:

df_1_2 <- merge(df1, df2, by = "Index", all = TRUE)
df_1_2_3 <- merge(df_1_2, df3, by = "Index", all = TRUE)
df_1_2_3_4 <- merge(df_1_2_3, df4, by = "Index", all = TRUE)
df_1_2_3_4_5 <- merge(df_1_2_3_4, df5, by = "Index", all = TRUE)

Does anyone know how to do this in a clear/better way?

Thanks in advance

Regards

(Just in case, sorry if I am duplicating posts, I didn't find a similar solution to my problem)

emr2
  • 1,436
  • 7
  • 23

0 Answers0