Я пытаюсь написать функцию для связывания файлов. Это данные о погоде в течение 50 лет, каждый из которых раздельно по годам и 75 повторений каждого года. Я хочу связать файлы вместе, чтобы у меня был непрерывный 50-летний пробег. Я должен закончить 75 50-летних пробегов.Объединить тысячи файлов в R - в правильном порядке
Файлы называются «клик», а затем rep («01» - «99»), затем 01year («2014» - «2064»). Итак, файл clim01012014.txt - это мой первый файл. Но нет повторений, кратные 4.
Моих мыслей импортировать мои файлы в виде списка
files <- list.files("../Dropbox/APSIM/Climate files")
затем использовать функцию, основанную на rbind
связать вместе файлы, которые имеют одни и те же повторения (что часть посередине, после «клина»).
Но у меня возникли проблемы концептуализации, как сказать, R, чтобы связать файлы, которые имеют разные концовки, но одни и те же средние цифры -
rbind(clim01012014.txt, clim01012015.txt, clim01012016.txt, clim01012017.txt, . . .)
Может быть, мне нужно будет цикл вместо функции?
Это меня очень близко, но я не понимаю, является ли 'l' еще списком? Из того, что я могу сказать, все мои файлы теперь упорядочены по репутации, год. Когда я применяю эту функцию, как она отличается от применения к списку, когда она не была заказана? – Nazer
@Nazer 'l' - это список векторов (каждый вектор, соответствующий вашему« rep »); для данного «rep» тогда внутренняя 'lapply' просматривает каждый из имен файлов, читает их и' do.call' позже 'rbind' их вместе; конечным результатом будет список 'data.frame', где каждый элемент списка будет иметь заданный« rep » – eddi
Хорошо, хорошо! Я просто получаю ошибку прямо сейчас (не могу открыть соединение), ошибка, вероятно, моя. Я буду продолжать работать над этим. – Nazer