我在R中遇到了一个基本问题。我必须将 72 excel文件与具有相同变量的类似数据类型合并。我必须将它们合并到R中的单个数据集。我已经使用下面的代码进行合并,但这对于这么多文件似乎不实用。有人可以帮帮我吗?
data1<-read.csv("D:/Customer_details1/data-01.csv")
data2<-read.csv("D:/Customer_details2/data-02.csv")
data3<-read.csv("D:/Customer_details3/data-03.csv")
data_merged<-merge(data1,data2,all.x = TRUE, all.y = TRUE)
data_merged2<-merge(data_merged,data3,all.x = TRUE, all.y = TRUE)
答案 0 :(得分:2)
首先,如果扩展程序是.csv,那么它们不是Excel文件,而是它们的.csv文件。
我们可以利用apply
系列函数有效地完成此任务。
首先,让我们创建一个文件列表:
setwd("D://Customer_details1/")
# create a list of all files in the working directory with the .csv extension
files <- list.files(pattern="*.csv")
在这种情况下,我们可以使用purrr::map
,但我们也可以使用lapply
- 更新为map_dfr
以自动reduce
删除rbind
{1}} - 进入数据框:
require(purrr)
mainDF <- files %>% map_dfr(read.csv)
如果需要,您可以将其他参数传递给read.csv
:map(read.csv, ...)
请注意,要使rbind
生效,列名必须相同,我假设它们基于您的问题。