如何在不使用 Pandas 的情况下迭代读取 R 中的文件并将每个文件的内容保存在不同的变量中?
How to iteratively read in files in R and save the content of each file in a different variable without using Pandas?
我有一个场景,我有一堆名称相同但名称中有一个数字的文件。我想创建与文件一样多的变量。到目前为止,我的代码如下所示:
for(i in 1:26)
{
if ( i <= 9 )
{
OutFile=paste0("Iterated.Filename0",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
} else {
OutFile=paste0("Iterated.Filename",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
}
}
(else
语句前后的区别是“Filename”后面的0
)
问题是最终创建的 out
变量是 (a) 只是一个变量而不是变量 out1
到 out26
并且 (b) 它不包含串联的所有读入文件的数据,但只有第 26 个 .out
文件的数据。
所以我的问题是:如何以每个文件的内容存储在不同变量中的方式读取 R 中的多个文件?
尤其是如何在不使用 Pandas?
的情况下做到这一点
一种可能的使用内置函数如下:
paths <- sprintf("Iterated.Filename%02d.out", 1:26)
out <- lapply(paths, read.table, header=FALSE, sep="\t", dec=".", na.strings="NA")
这里的变量out
是一个包含26个数据集的列表
我有一个场景,我有一堆名称相同但名称中有一个数字的文件。我想创建与文件一样多的变量。到目前为止,我的代码如下所示:
for(i in 1:26)
{
if ( i <= 9 )
{
OutFile=paste0("Iterated.Filename0",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
} else {
OutFile=paste0("Iterated.Filename",i,".out")
out <- read.table(OutFile, header = FALSE, sep="\t", dec=".", na.strings = "NA")
}
}
(else
语句前后的区别是“Filename”后面的0
)
问题是最终创建的 out
变量是 (a) 只是一个变量而不是变量 out1
到 out26
并且 (b) 它不包含串联的所有读入文件的数据,但只有第 26 个 .out
文件的数据。
所以我的问题是:如何以每个文件的内容存储在不同变量中的方式读取 R 中的多个文件? 尤其是如何在不使用 Pandas?
的情况下做到这一点一种可能的使用内置函数如下:
paths <- sprintf("Iterated.Filename%02d.out", 1:26)
out <- lapply(paths, read.table, header=FALSE, sep="\t", dec=".", na.strings="NA")
这里的变量out
是一个包含26个数据集的列表