2016-08-16 140 views
0

我有100个文件,我想通过R运行分析。我的一些代码使用单个文件,我已经想通了,我可以批量他们使用下面的代码一次在多个文件中批量读取R读取

setwd("~/directory of interest") 
files <- list.files(pattern = "*.csv$") 
files 

for(i in 1:length(files)){ 
DataSet1 <- read.csv(file = files[i], header = TRUE, stringsAsFactors = TRUE) 
do my algorithum 
setwd("~/location of saving directory") 
write.csv(DataSet1, file = files[i], quote = FALSE, row.names = FALSE) 
setwd("~/directory of interest")} 

我有另一项分析中,我有2个文件(1对)都需要在被读作为我的alogorithum然后可以运行的两个不同的数据集。有没有办法以批处理格式来做到这一点。我的文件被命名,以便它们总是彼此相邻(也就是说,当我在WD中识别这些文件时,它们应该是DataSet1a,DataSet1b,DataSet2a,DataSet2b等),因为我有100个文件对,我可以做它们1对手动,但我觉得这是一个更好的方法。由于

回答

1

你可以尝试这样的事情:

setwd("~/directory of interest") 
filesA <- list.files(pattern = "*a.csv$") 
filesB <- list.files(pattern = "*b.csv$") 

for(i in 1:length(filesA)){ 
    DataSet1A <- read.csv(file = filesA[i], header = TRUE, stringsAsFactors = TRUE) 
    DataSet1B <- read.csv(file = filesB[i], header = TRUE, stringsAsFactors = TRUE) 
    ... 
}