gpt4 book ai didi

R:从包含多个文件的文件夹加载数据

转载 作者:行者123 更新时间:2023-12-04 12:57:58 25 4
gpt4 key购买 nike

我有一个包含多个文件的文件夹要加载:

enter image description here

每个文件都是一个列表。我想将加载的所有列表合并到一个列表中。我正在使用以下代码(每次从文件加载的变量称为 TotalData):

Filenames <- paste0('DATA3_',as.character(1:18))
Data <- list()
for (ii in Filenames){
load(ii)
Data <- append(Data,TotalData)
}

有没有更优雅的写法?例如使用应用函数?

最佳答案

您可以使用lapply。我假设您的文件已使用 save 存储,因为您使用 load 来获取它们。我创建了两个文件以在示例中使用,如下所示:

TotalData<-list(1:10)
save(TotalData,file="DATA3_1")
TotalData<-list(11:20)
save(TotalData,file="DATA3_2")

然后我读了他们

Filenames <- paste0('DATA3_',as.character(1:2))
Data <- lapply(Filenames,function(fn) {
load(fn)
return (TotalData)
})

在此之后,Data 将是一个列表,其中包含来自文件的列表作为其元素。由于您在示例中使用了 append,因此我认为这不是您想要的。我删除了一层嵌套

Data <- unlist(Data,recursive=FALSE)

对于我的两个示例文件,这给出了与您的代码相同的结果。它是否更优雅还有待商榷,但我认为它比 for 循环更像 R 语言。

关于R:从包含多个文件的文件夹加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com