#r
#r
Вопрос:
Может кто-нибудь, пожалуйста, сказать мне, как в R я могу получить доступ к нумерованным наборам данных с помощью переменной цикла? Итак, если у меня есть длинный список файлов, в каждом из которых мне нужно найти все места, где определенное значение находится во втором столбце, и взять соответствующее значение в той же строке в третьем столбце и перечислить их все в одном файле, как я могу это сделать? Файлы называются по названию папки, дате и времени соответственно, таким образом, «name_0619_0123». На каждый день приходится одинаковое количество файлов, и они находятся в разное время каждый день. Поэтому, если есть команда, которая может каким-то образом позволить мне получить доступ к файлу таким образом, чтобы я мог иметь переменную (зависящую от переменной подсчета циклов) в строке, которую я указываю для имени файла в команде, я могу получить доступ к другому файлу для каждой итерации цикла.
Пожалуйста, любые идеи
Кроме того, если есть более подходящее место для меня, чтобы задать этот вопрос, пожалуйста, дайте мне знать.
Ответ №1:
Вероятно, есть много способов сделать это в R:
Вы можете использовать сценарий командной строки (см. Документацию R).
т. е.
R CMD BATCH "--args arg1 arg2" foo.R amp;
Где foo.R
находится ваш R-скрипт, и args
это могут быть переменные цикла, которые вас интересуют.
Другой способ сделать это — использовать регулярные выражения для анализа информации из имен ваших файлов.
Если вы приведете более конкретный пример, я смогу показать вам более конкретный код.
Ответ №2:
Вот несколько рекомендаций, если вы можете объединить те файлы, которые вам нужно обработать, либо с шаблоном, либо собирая их все.
Вы можете сгенерировать список файлов с list.files
помощью, прочитать их за один раз с lapply
помощью , read.csv
, и извлечь то, что вам нужно, в a data.frame
с помощью одной строки. Затем, используя do.call
, rbind
, и ваш список data.frames, вы можете объединить все в один data.frame, даже не записывая for
явно.