如何使用索引一次读取多个文件?
How to use an index to read multiple files at a time?
我想让 R 读取名称类似于
的五个文件
"alpha_rarefaction_8000_0.txt" ... "alpha_rarefaction_12000_0.txt"
写成
"alpha8000" ... "alpha12000", 分别.
我使用了下面的代码,但是没有用。请帮忙。我的代码有什么问题?
我尝试搜索“如何在 R 函数中使用索引”或“如何在 R 中编写可执行循环”,但没有任何帮助。在 Google?
上搜索答案时,我应该使用什么样的搜索策略来获得有效结果
for(i in seq(8000,12000,by=1000)) {
paste("rare",i,sep="")<-read.table(paste("alpha_rarefaction",i,"0.txt",sep="_"))
}
或
read.rare<-function(i){
paste("rare",$i,sep="")<-read.table(paste("alpha_rarefaction",$i,"0.txt",sep="_"))
}
i<-seq(8000,12000,by=1000)
read.rare(i)
我建议您将文件读入列表,可能这样做 -
## create the sequence for the file names
s <- 8:12 * 1e3
# [1] 8000 9000 10000 11000 12000
## create the full file names from the sequence above
files <- sprintf("alpha_rarefaction_%d_0.txt", s)
# [1] "alpha_rarefaction_8000_0.txt" "alpha_rarefaction_9000_0.txt"
# [3] "alpha_rarefaction_10000_0.txt" "alpha_rarefaction_11000_0.txt"
# [5] "alpha_rarefaction_12000_0.txt"
## Now we can loop the file names, reading the data into a list
## and setting the names for each element
datalist <- setNames(lapply(files, read.table), paste0("alpha", s))
这会将所有数据框保存在一个列表中,这将使以后使用它们变得容易得多。您可以使用 $
运算符单独访问它们。他们有名字
names(datalist)
[1] "alpha8000" "alpha9000" "alpha10000" "alpha11000" "alpha12000"
例如,so datalist$alpha9000
访问第二个数据集(也可以使用 datalist[[2]]
)。
我想让 R 读取名称类似于
的五个文件"alpha_rarefaction_8000_0.txt" ... "alpha_rarefaction_12000_0.txt"
写成
"alpha8000" ... "alpha12000", 分别.
我使用了下面的代码,但是没有用。请帮忙。我的代码有什么问题?
我尝试搜索“如何在 R 函数中使用索引”或“如何在 R 中编写可执行循环”,但没有任何帮助。在 Google?
上搜索答案时,我应该使用什么样的搜索策略来获得有效结果for(i in seq(8000,12000,by=1000)) {
paste("rare",i,sep="")<-read.table(paste("alpha_rarefaction",i,"0.txt",sep="_"))
}
或
read.rare<-function(i){
paste("rare",$i,sep="")<-read.table(paste("alpha_rarefaction",$i,"0.txt",sep="_"))
}
i<-seq(8000,12000,by=1000)
read.rare(i)
我建议您将文件读入列表,可能这样做 -
## create the sequence for the file names
s <- 8:12 * 1e3
# [1] 8000 9000 10000 11000 12000
## create the full file names from the sequence above
files <- sprintf("alpha_rarefaction_%d_0.txt", s)
# [1] "alpha_rarefaction_8000_0.txt" "alpha_rarefaction_9000_0.txt"
# [3] "alpha_rarefaction_10000_0.txt" "alpha_rarefaction_11000_0.txt"
# [5] "alpha_rarefaction_12000_0.txt"
## Now we can loop the file names, reading the data into a list
## and setting the names for each element
datalist <- setNames(lapply(files, read.table), paste0("alpha", s))
这会将所有数据框保存在一个列表中,这将使以后使用它们变得容易得多。您可以使用 $
运算符单独访问它们。他们有名字
names(datalist)
[1] "alpha8000" "alpha9000" "alpha10000" "alpha11000" "alpha12000"
例如,so datalist$alpha9000
访问第二个数据集(也可以使用 datalist[[2]]
)。