将CSV文件读入R中的数据框列表

4

我尝试寻找答案,但只能找到如何从csv文件创建单独的数据框架。在我的工作目录中有许多csv文件,而不是通过分配它们到单独的数据框架来处理它们:

frame1 = read.csv(filepath)

我希望将它们包含在一个数据框的列表中,以便我可以对其进行操作。这显然需要循环遍历dir()中的文件,但我不确定语法。在Java中,我会为每个元素使用List.add()。
谢谢
1个回答

8
以下类似的内容可能会有所帮助。
my.path <- list("filepath1", "filepath2", "filepath3")
my.data <- list()
for (i in 1:length(my.path)){
    my.data[[i]] <- read.csv(my.path[[i]])
}

my.data 是一个包含数据框的列表。

编辑

之前的答案展示了如何动态地分配列表的元素。然而,更紧凑的实现方式是:

my.path <- list("filepath1", "filepath2", "filepath3")
my.data <- lapply(my.path, read.csv)

啊,谢谢你的回答,但我得到了“要替换的项目数不是替换长度的倍数”的错误信息。 - raj rajaratnam
好的,请提供一个可重现的示例,以便提供解决方案。 - QuantIbex
我在看到你的编辑之前就尝试了这种简洁的方法。那就是我所做的。谢谢。 - raj rajaratnam
@Quantlbex 我尝试了这个方法,但现在所有的数据文件都合并成了一个大框架,我该如何分离或命名它们? - bvowe
有没有一种方法可以在不列出文件路径的情况下完成这个操作,比如说,如果它们都在一个不是工作目录的文件夹中? - jvalenti
1
@jvalenti 我想你可以简单地执行 my.path <- as.list(list.files("文件夹路径")) - QuantIbex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接