добрые день всем,
скажите пожалуйста, а нет ли у кого примера на R для обработки в батч-режиме всех файлов в директории? не важно даже что именно скрипт делает, просто по сути - чтобы считывал список файлов из директории, читал поочередно в переменную, делал какую-то функцию и затем экспортировал результат тоже в текстовый файлик.
Буду очень благодарна за помощь и пример!
			
			
									
						
										
						батч-обработка текстовых файлов в R
- 
				Анна
- Завсегдатай
- Сообщения: 386
- Зарегистрирован: 07 фев 2004, 14:31
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: батч-обработка текстовых файлов в R
Код: Выделить всё
inputdir = "D:\\input\\"
#ищем все файлы c подстрокой "csv" в папке Input
trainingsets = list.files(path=inputdir, pattern="csv")
#создаём новый фрейм данных, куда будем записывать что-то
megasample = data.frame()
#поехали
for (i in 1:length(trainingsets)) {
        #сформировали полное имя файла
	afile = paste(inputdir,trainingsets[i],sep="")
        #прочитали содержимое	
        adata = read.table(afile,sep=" ",strip.white=T)
        #объединили построчно 
	megasample = rbind(megasample,adata)
        #и так далее, пока есть файлы
}пристегивайтесь, турбулентность прямо по курсу
			
						- 
				Анна
- Завсегдатай
- Сообщения: 386
- Зарегистрирован: 07 фев 2004, 14:31
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: батч-обработка текстовых файлов в R
спасибо огромное!! а можно вопрос по скрипту?
 что вот этой строкой достигается?
			
			
									
						
										
						Код: Выделить всё
megasample = rbind(megasample,adata) - Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: батч-обработка текстовых файлов в R
эта строка - это результат считывания вставляется в общий фрейм данных, т.е. например из 100 файлов делается один общий фрейм, я добавил для примера, разумеется делаться в цикле может что угодно
			
			
									
						
							пристегивайтесь, турбулентность прямо по курсу
			
						- 
				Анна
- Завсегдатай
- Сообщения: 386
- Зарегистрирован: 07 фев 2004, 14:31
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: батч-обработка текстовых файлов в R
спасибо! ну и последний вопрос  как экспортировать в текстовые файлы (отдельные) результаты обработки каждого файла?
  как экспортировать в текстовые файлы (отдельные) результаты обработки каждого файла? 
еще раз огромное спасибо
			
			
									
						
										
						 как экспортировать в текстовые файлы (отдельные) результаты обработки каждого файла?
  как экспортировать в текстовые файлы (отдельные) результаты обработки каждого файла? еще раз огромное спасибо
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: батч-обработка текстовых файлов в R
Код: Выделить всё
inputdir = "D:\\input\\"
#ищем все файлы c подстрокой "csv" в папке Input
trainingsets = list.files(path=inputdir, pattern="csv")
#создаём новый фрейм данных, куда будем записывать что-то
megasample = data.frame()
#поехали
for (i in 1:length(trainingsets)) {
        #сформировали полное имя файла
	afile = paste(inputdir,trainingsets[i],sep="")
        #прочитали содержимое файла
        adata = read.table(afile,sep=" ",strip.white=T)
        #здесь обработка начало
        #...
        #...
        #здесь обработка конец
        #сохраняем в ouput1.csv, цифра меняется
        write.table(res,paste(inputdir,"output",i,".csv",sep=""),sep=",")
        #и так далее, пока есть файлы
}пристегивайтесь, турбулентность прямо по курсу
			
						Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей
