Merging multiple data frames in R is anything but straightforward and usually involves confusing loop structures. multiMerge elegantly avoids such bewildering code chunks by invoking Reduce upon a list of data frames. The function also features a set of auxiliary parameters that are passed on to merge. Note that the code is mainly taken from a related blog post in StackOverflow.

## sample data
set.seed(10)
ls_df <- list(data.frame(a = 1:10, b = 1:10),
              data.frame(a = 5:14, c = 11:20),
              data.frame(a = sample(20, 10), d = runif(10)))

## merge data frames in one go
merge(ls_df, by = "a", all = TRUE)
##     a  b  c          d
## 1   1  1 NA         NA
## 2   2  2 NA         NA
## 3   3  3 NA 0.86472123
## 4   4  4 NA         NA
## 5   5  5 11         NA
## 6   6  6 12 0.39879073
## 7   7  7 13 0.05190332
## 8   8  8 14 0.26417767
## 9   9  9 15 0.11350898
## 10 10 10 16 0.59592531
## 11 11 NA 17 0.56773775
## 12 12 NA 18 0.42880942
## 13 13 NA 19         NA
## 14 14 NA 20         NA
## 15 15 NA NA 0.83613414
## 16 16 NA NA 0.35804998