r - 使用循环从目录中读取文件并将它们保存为列表的元素
问题描述
我有许多文件从 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="")
}
解决方案
创建文件向量的更简单方法:
file <- paste0("chr", 1:22, ".csv")
您必须对输出列表进行子集化以保存结果
data<-vector("list", length = 22)
names(data)<-file
for (i in file) {
data[[i]] <- read.csv(i, sep="")
}
推荐阅读
- apache-spark - AttributeError:“NoneType”对象没有属性“在 Pyspark 中写入”
- kotlin - 访问协程作业中的自定义协程上下文元素
- callback - 在Julia中DifferentialEquations.jl的ODE求解器中的每个常规时间间隔回调
- python - 如何有效地将一个DF的多列附加到另一个DF的一列中
- ruby-on-rails - 无需重新渲染整个页面即可访问更新的数据
- python - 如何在 python 中接受第三方 cookie 到 selenium chromedriver?
- javascript - 按下按钮时创建警报
- angular - 嵌套路由器:父路由有效,子路由无
- python - 在包中使用 -m 开关和 __main__.py 文件有什么区别 - 因为两者都允许运行文件而不需要指定 .py?
- javascript - 获取参数拉取相同的id