excel文件列表作为列表列表读入

时间:2016-06-03 15:02:11

标签: r list csv dataframe

我有一个332个Excel文件的目录,我按如下方式读入R:

list_files <- list.files(path = "C:/Users/mslomka/Documents/R/Datasets/Week 2", pattern = ".csv")
read_files <- lapply(list_files, read.csv)

但是,当我对read_files列表进行子集化时,所有组件都是列表而不是数据帧/矩阵(这是它们应该是的,因为它们是Excel文件)。

我想(a)读取所有excel作为数据帧,或(b)创建一个循环,将每个列表强制转换为数据帧。

我已经为(b)尝试了几种方法,但没有一种方法可行,例如lapply(read_files, as.data.frame)。我只是设法将个别列表强制转换为数据框,例如通过执行as.data.frame(read_files[1])

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

一些有用的信息here +来自Twitter

的有意义的图片

enter image description here

答案 1 :(得分:0)

如果我理解正确,这会给你一个清单列表:

read_files <- lapply(list_files, read.csv)

即。 read.files[[i]]会返回一个列表。

您还设法通过执行[[i]]将每个lapply(read_files, as.data.frame)列表转换为数据框。

您现在想要创建一个数据框,其中包含read_files中包含的每个数据框的所有信息吗?如果是这样,这将完成工作:

df <- do.call(rbind, read_files)

这是你想要的吗?