首页 > 解决方案 > 使用循环从目录中读取文件并将它们保存为列表的元素

问题描述

我有许多文件从 1 到 22 逐渐命名,即“chr1.csv”、“chr2.csv”...“chr22.csv”。每个文件都包含一个与列具有相同变量的数据库。我想创建一个循环来读取这些文件并将它们保存为列表的元素。

我已经尝试过这段代码,但它不起作用。

file <- vector("character", 22)

data<-vector("list", length = 22)

for (i in 1:22) {
str <- gsub("number", i, "chrnumber.csv")
file[i] <- str
}

for (i in file) {
data <- read.csv(i, sep="")
}

标签: rlistloops

解决方案


创建文件向量的更简单方法:

file <- paste0("chr", 1:22, ".csv")

您必须对输出列表进行子集化以保存结果

data<-vector("list", length = 22) 
names(data)<-file

for (i in file) {
data[[i]] <- read.csv(i, sep="")
}

推荐阅读