从给定文件夹中读取多个csv文件时如何获取命名列表?

时间:2016-09-18 09:37:16

标签: r list csv

假设我在给定的文件夹中有几个csv文件,当我读取它们时,我可能有一个未命名的列表,其中每个列表元素都有默认的数字索引。我怎样才能将它们作为命名列表来阅读?以下是我的代码:

关于可重现的数据,允许使用公共数据集

  file <- list.files(folder, full.names = TRUE, "\\.csv$")

  f.read <- lapply(1:length(file), function(ele_) {
    res <- as(read.csv(file[ele_]), "data.frame")
    res
  })

我希望命名列表而不是默认的未命名列表,我怎样才能轻松获得预期的输出?有什么想法吗?

我想要的输出是: 在我从给定文件夹中读取cvs文件后,每个列表元素必须具有特定名称而不是默认数字索引。 如何轻松获得预期的输出?有谁知道获得此输出的可能方式?谢谢

2 个答案:

答案 0 :(得分:2)

我们可以将setNames与提取的文件名一起使用(basenamefile_path_sans_ext

setNames(lapply(file, read.csv), tools::file_path_sans_ext(basename(file)))

答案 1 :(得分:1)

或者,您可以将命名向量传递到lapply

f.read <- lapply(setNames(file, tools::file_path_sans_ext(basename(file))), read.csv)
相关问题