在R中导入多个csv文件,同时保留其名称

在R中导入多个csv文件,同时保留其名称,r,R,如何导入多个csv文件(全部位于一个文件夹中),同时保留其名称。例如,如果文件a.csv应导入为“a”,则b.csv应导入为“b”,以此类推 编辑:具体来说。。。我不想单独键入文件名,因为有一大堆文件。我想要一个系统,它可以简单地读取目录中的所有文件并保留原始文件名。使用分配。一个简单的迭代如下所示: basenames <- c("a", "b" , "c") lapply(basenames, function(x) assign(x, read.csv(paste0(x, "

如何导入多个csv文件(全部位于一个文件夹中),同时保留其名称。例如,如果文件a.csv应导入为“a”,则b.csv应导入为“b”,以此类推


编辑:具体来说。。。我不想单独键入文件名,因为有一大堆文件。我想要一个系统,它可以简单地读取目录中的所有文件并保留原始文件名。

使用
分配
。一个简单的迭代如下所示:

basenames <- c("a", "b" , "c")

lapply(basenames, function(x) 
  assign(x, read.csv(paste0(x, ".csv")), envir=.GlobalEnv)
  )

basenamesYadda Yadda使用列表Yadda

filenames <- c("a", "b", "c")

dfs <- setNames(lapply(filenames, function(f)
    read.csv(paste0(f, "csv")), filenames))

文件名我就是这样做的,就像Hong Ooi一样,有一个列表

# assuming your working directory is the folder with the CSVs
myfiles <- dir(pattern = "\\.(csv|CSV)$", full.names = TRUE) # get filenames and paths
myfiles_data <- lapply(myfiles, data.table::fread) # read data from files, quickly
head(myfiles_data[[1]]) # validate file reading
names(myfiles_data) <- myfiles # assign names to list items
#假设您的工作目录是包含CSV的文件夹

myfiles使用plyr函数的另一种方法:

library(plyr)
mydata = ldply(list.files(pattern = “csv”), function(filename) {
dum = read.table(filename)
    #If you want to add the filename as well on the column
    dum$filename = filename
return(dum)
})