Вы ищете что-то в этом роде?
do.call(rbind, lapply(list.files(path=".", pattern="AM-25"), read.table, header=TRUE, sep=","))
Это rbind вместе матриц, считываемых из файлов CSV, которые содержат символы «AM-25». Аргументы для read.table
могут быть разными, в зависимости от ваших файлов csv.
EDIT
Я надеюсь, что это работает в том случае, вы не знаете, все возможные пять букв префиксы имен файлов в каталоге:
##Get all different first five letter strings for all cvs files in directory "."
file.prefixes <- unique(sapply(list.files(path=".", pattern="*.csv"), substr, 1,5))
##Group all matching file names according to file.prefixes into a list
file.list <- lapply(file.prefixes, function(x)list.files(pattern=paste("^",x,".*.csv",sep=""), path="."))
names(file.list) <- file.prefixes ##just for convenience
##parse all csv files in file.list, create a list of lists containing all tables for each prefix
tables <- lapply(file.list, function(filenames)lapply(filenames, function(file)read.table(file, header=TRUE)))
##for each prefix, rbind the tables. Result is a list of length being length(file.prefixes)
## each containing a matrix with the combined data parsed from the files that match the prefix
joined.tables <- lapply(tables, function(t)do.call(rbind, t))
##Save tables to files
for (prefix in names(joined.tables))write.table(joined.tables[[prefix]], paste(prefix, ".csv", sep=""))
Спасибо, что работает, но есть ли способ, которым я могу использовать символ пятого 5 в имени файла в разделе «шаблон»? У меня несколько файлов csv, и я не могу предоставить какой-либо конкретный термин в разделе «шаблон». –
Вы имеете в виду, что имена файлов, которые содержат, например, подстроку «AM-25» **, а не ** в начале, не совпадают? list.files (path = ".", pattern = "^ AM-25") будет соответствовать файлам "AM-25.myfiles.2000.csv" "AM-25.myfiles.2001.csv" и "AM-25 .myfiles.2002.csv ", но не файл" otherfile_AM-25.myfiles.2000.csv ". Это то, что вы имели ввиду? – user1981275
Да, я имею дело с несколькими файлами csv с этим форматом, так что я ищу способ перекодировать все файлы, которые имеют общий символ в своих именах. как тот, который вы предложили с помощью «AM-25». Но это так много файлов, которые я не могу предоставить аргумент «pattern» вручную. –