Импортируйте несколько текстовых файлов в R и присвойте им имена из заранее определенного списка - PullRequest
9 голосов
/ 19 марта 2011

Я только начал использовать R, и у меня возникают проблемы при выполнении следующей задачи: у меня есть около 130 примеров языка в отдельных текстовых файлах, которые находятся в моем рабочем каталоге.То, что я хотел бы сделать, это импортировать их с помощью сканирования и сохранить их имена файлов.В частности, я хотел бы использовать что-то вроде:

Patient01.txt <-scan("./Patient01.txt", what = "character")
Patient02.txt <-scan("./Patient02.txt", what = "character")
...
Patient130.txt <-scan("./Patient130.txt", what = "character")

Есть ли способ использовать команду, например * apply, для автоматизации процесса?

Ответы [ 2 ]

17 голосов
/ 19 марта 2011

Вот один из способов автоматизировать процесс

# read txt files with names of the form Patient*.txt
txt_files = list.files(pattern = 'Patient*.txt');

# read txt files into a list (assuming separator is a comma)
data_list = lapply(txt_files, read.table, sep = ",")

Вы можете изменить разделитель, если знаете, что это такое. Удобно хранить данные в виде списка фреймов данных, поскольку их легче добавить в векторизованную операцию или циклы позже.

1 голос
/ 20 октября 2011
            files <- list.files(pattern = 'Patient*.txt')    
            for(i in files) {
            x <- read.table(i, header=TRUE, comment.char = "A", sep="\t")
            assign(i,x)  
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...