2016-08-16 2 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) 
    ... 
} 
Смежные вопросы