Merging more than 2 csv files in R
Hello!
How do I merge more than two csv files in R based on gene_id and log2.fold_change? Is there a easy code or package for it? Thank you.
• 5,892 views
•
link
2 answers
The fastest way to do this is with the dplyr package. This follows the same procedure as Rob mentioned in his comment above, but using dplyr::inner_join() is much faster.
• 0 views
•
link
Adding an updated answer for completeness' sake
The way I do this is using lapply and Reduce
dat.files <- list.files("*.csv") #whatever you need to get the files listed
dat <- lapply(dat.files, read.table, sep=",", ...)
## Now process dat so column names are consistent etc. - you might need a loop
## Once done,
dat <- Reduce(merge, dat) # or Reduce(dplyr::inner_join, dat)
• 0 views
•
link
Log in to answer this question.
I believe the standard way to do this is by successively merging into a resulting dataframe. That is, if you wish to merge e.g. [1,2,3,4,5], you'd do
merge(1, merge(2, merge(3, merge(4, 5) ) ) ). This is actually supported explicitly in Pandas — one place where I wish R's dataframes had the same built-in capabilities.See relevant SO post: