Рабочий процесс ESS для разработки проекта/пакета R
Может ли кто-нибудь поделиться своим опытом по рабочему процессу для разработки R peject в ESS? Я несколько раз пытался учиться emacs, но пока не понял. Я могу понять ESS как редактор, но есть ли представление проекта в ESS? какие эффективные способы настройки/просмотра R-каталога проекта, кодирования и тестирования и как ESS имеет преимущество для облегчения всего процесса?
Используете ли вы ESS только как хороший R-редактор или имеете тенденцию эмулировать среду R IDE в ESS?
Спасибо за любые советы.
Ответы
Ответ 1
Я не совсем уверен, что вы ожидаете от ответа на этот вопрос. Я, например, украл (и адаптировал) систему, предложенную здесь немного назад (Джошем Рейхом):
Создайте папку для каждого проекта и разделите свою работу на кучу разных файлов .R:
- Load.R для получения ваших необработанных данных в R;
- Prep.R для очистки данных, переменных перекодировки и т.д.;
- Func.R для кодирования любых пользовательских функций, которые вам понадобятся для оценки; и
- Eval.R для запуска вашего финального материала.
Если это не соответствует вашему стилю, просто измените его.
Затем вы можете либо иметь мастер файл для вызова каждой из частей один за другим (хорошо для воспроизводимости), либо сохранять на разных этапах, а отдельные сценарии загружать соответствующие данные (хорошо, если некоторые из подготовительных работ очень трудоемко/интенсивно).
**
В другом примечании трюк, который размещен по ссылке, действительно помог мне войти в ESS. Он превращает Shift-Enter в универсальный ESS-магазин: http://www.kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess/
Ответ 2
Похоже, вы задаете два отдельных вопроса.
Один вопрос касается рабочего процесса и других проблем с использованием ESS.
Поскольку я использую StatET и Eclipse, я просто расскажу о своем опыте в аспекте рабочего процесса вашего вопроса.
Как и Винсент, я также следую примеру рабочего процесса, изложенному Джошем Рейхом (см. также полезные комментарии Хэдли):
Рабочий процесс для статистического анализа и составления отчетов
Хотя он может меняться между проектами, я имею тенденцию иметь пару основных файлов R
- import.R: он импортирует файлы данных и выполняет любую необходимую очистку и манипуляцию.
- analyse.R: Это генерирует вывод, который мне нужен для окончательного отчета
- main.R: Это вызывает import.R и analyse.R
Цель состоит в том, чтобы import.R и analyse.R представляли полный и окончательный рабочий процесс для получения окончательных результатов любых анализов.
Что касается структуры каталогов для проекта анализа, у меня часто также будут следующие папки
- данные: для хранения любых файлов необработанных данных
- metastrong > : для хранения метаданных, таких как метки переменных, системы оценки для тестов, данные перекодирования и т.д.
- вывод: для хранения любой графики, таблиц или текста, сгенерированных моими анализами, которые я могу включить в внешнюю программу
- temp: при анализе данных и анализе мозгового штурма мне нравится вводить код в файлы вместо использования консоли. Я имею тенденцию обозначать эти temp1.R, temp2.R, temp3.R. Я храню их во временной папке. Таким образом, у меня есть постоянная запись, которая легко доступна. Если анализы становятся окончательными, они включаются в один из основных файлов R (т.е. Import.R или analysis.R)
- функции. Если я думаю, что функция понадобится для нескольких проектов, я часто помещаю ее в одну функцию на один файл или набор связанных функций в файл в папке, называемой функциями. Это упрощает повторное использование функций по проектам, когда формальные требования к разработке пакета более чем необходимы.
- библиотека. Если я хочу создать некоторые общие функции, которые, я думаю, будут специфичными для проекта, я поместим их в эту папку.
- сохранить: папка для хранения любых сохраненных объектов R
StatET и Eclipse упрощают взаимодействие с такой файловой системой.
Конечно, учитывая все R-гуру, которые используют ESS и Emacs, я уверен, что он также хорошо взаимодействует с файловой системой.
Ответ 3
Другие предоставили вам несколько хороших идей о том, как настроить структуру каталогов/файлов для проекта.
Вы также спросили о "проектных представлениях", и в этом случае вам может понадобиться изучить Emacs Code Browser (ECB).
Вы можете найти некоторые снимки экрана в действии на своем сайте, здесь:
http://ecb.sourceforge.net/screenshots/index.html