假设我在给定的文件夹中有几个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文件后,每个列表元素必须具有特定名称而不是默认数字索引。 如何轻松获得预期的输出?有谁知道获得此输出的可能方式?谢谢
答案 0 :(得分:2)
我们可以将setNames
与提取的文件名一起使用(basename
和file_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)