2016-08-16 199 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) 
    ... 
}