我有一个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])
。
非常感谢任何帮助!
答案 0 :(得分:2)
答案 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)
这是你想要的吗?