如何在r中加载和合并多个.csv文件?

Jul*_*t R 2 csv merge r

所以我在R上很新,现在我正在尝试加载多个.csv文件(~60左右),然后将它们合并在一起.它们都有类似的列,它们的文件命名如下:dem_file_30,dem_file_31.

我一直在尝试在线使用脚本但是仍然遇到一些错误.我相信我可以手工完成,但那真的很乏味.

例:

file_list <- list.files("/home/sjclark/demographics/")   
list_of_files <- lapply(file_list, read.csv)  
m1 <- merge_all(list_of_files, all=TRUE)
Error: merge_all doesn't exist
Run Code Online (Sandbox Code Playgroud)

这个似乎把它们读成了R,但后来我不知道怎么办......帮忙?

setwd("/home/sjclark/demographics/")
filenames <- list.files(full.names=TRUE)  
All <- lapply(filenames,function(i){
read.csv(i, header=TRUE)
})
Run Code Online (Sandbox Code Playgroud)

HFB*_*ing 5

看起来好像你可能正在尝试使用R-bloggers上共享的nice函数(归功于Tony Cookson):

multMerge = function(mypath){
  filenames = list.files(path = mypath, full.names = TRUE)
  datalist = lapply(filenames, 
                    function(x){read.csv(file = x,
                                         header = TRUE,
                                         stringsAsFactors = FALSE)})
  Reduce(function(x,y) {merge(x, y, all = TRUE)}, datalist)
}
Run Code Online (Sandbox Code Playgroud)

或者也许你已经从差异来源拼凑了一些东西?在任何情况下,merge您都缺少重要的基础R功能.merge_all在任何包中都不存在.

由于您是R(也许是所有编程人员)的新手,因此值得注意的是,在使用它之前,您需要定义此函数.完成后,您可以像任何其他功能一样调用它:

my_data <- multMerge("/home/sjclark/demographics/")
Run Code Online (Sandbox Code Playgroud)