6  Проекты R

Проект R позволяет объединить вашу работу в переносимую, самодостаточную папку. Внутри проекта в подпапках хранятся все нужные скрипты, файлы данных, рисунки/выходные данные, история, и, что важно, рабочая директория является корневой папкой проекта.

6.1 Предложения по использованию

Частым, эффективным и беспроблемным способом использования R является объединение этих 3 элементов. Один определенный рабочий проект размещается в одном проекте R. Каждый элемент описывается в разделах ниже.

  1. Проект R
    • самодостаточная рабочая среда с папками для данных, скриптов, выходных данных и т.п.
  2. Пакет here для относительных путей к файлу
    • Пути к файлу записываются относительно корневой папки проекта R - см. дополнительную информацию на странице Импорт и экспорт
  3. Пакет rio для импорта/экспорта
    • import() и export() работают с любым типом файла по его расширению (например, .csv, .xlsx, .png)

6.2 Создание проекта R

Чтобы создать проект R, выберите “New Project” (новый проект) из меню File (файл).

  • Если вы хотите создать новую папку для проекта, выберите “New directory” (новая директория) и укажите, где вы хотите ее создать.
  • Если вы хотите создать проект внутри существующей папки, кликните “Existing directory” (существующая директория) и укажите папку.
  • Если вы хотите клонировать репозиторий Github, выберите третий вариант “Version Control” (контроль версий) и затем “Git”. См. страницу Контроль версий и совместная работа с помощью Git и Github для получения дополнительной информации.

Проект R, который вы создаете, будет создан в форме папки, содержащей файл .Rproj. Этот файл является ярлыком и, скорее всего, основным способом открытия вашего проекта. Вы можете также открыть проект, выбрав опцию “Open Project” (открыть проект) из меню File (файл). Альтернативно в правой верхней части Studio вы увидите иконку R project (проект) и выпадающее меню доступных проектов R.

Чтобы выйти из проекта R, либо откройте новый проект, либо закройте проект (File (файл) - Close Project (закрыть проект)).

Переключение между проектами

Чтобы переключиться между проектами, кликните иконку проекта R и выпадающее меню в верхней правой части RStudio. Вы увидите опции Close Project (закрыть проект), Open Project (открыть проект), а также список недавних проектов.

Настройки

В целом, рекомендуется запускать RStudio каждый раз с “чистого листа” - то есть, без сохранения рабочего пространства с предыдущей сессии. Это означает, что ваши объекты и результаты не будут сохраняться от сессии к сессии (вы должны будете их воссоздать, выполнив команды из скриптов). Это хорошо, поскольку это заставит вас писать более хорошие скрипты и избегать ошибок в долгосрочной перспективе.

Чтобы настроить RStudio на работу с “чистого листа” каждый раз при запуске:

  • Выберите “Project Options” (опции проекта) из меню Tools (инструменты).
  • Во вкладке “General” (Общие опции), установите RStudio на не восстанавливать .RData в рабочем пространстве при запуске, а также не сохранять рабочее пространство в .RData при выходе.

Организация

В проекте часто имеются подпапки. Подумайте над возможностью создания таких папок, как “data” (данные), “scripts” (скрипты), “figures” (рисунки), “presentations” (презентации). Вы можете добавить папки обычным способом, как вы создаете новую папку на вашем компьютере. Альтернативно, см. страницу Взаимодействие директорий, чтобы узнать, как создавать новые папки с помощью команд R.

Контроль версий

Рассмотрите возможность использования системы контроля версий. Это может быть простое решение - использование дат в названиях скриптов (например, “transmission_analysis_2020-10-03.R”) и наличие папки “архива”. Также подумайте об использовании заголовка в виде комментария в начале каждого скрипта с описанием, ярлыками, авторами, а также журналом изменений.

Более сложный метод - использовать Github или аналогичную платформу контроля версий. См. страницу Контроль версий и совместная работа с помощью Git и Github.

Хороший совет - поиск по всему проекту или папке, используя инструмент “Find in Files” (найти в файлах) (меню Edit - редактирование). С его помощью можно искать и даже заменять последовательности в нескольких файлах.

6.3 Примеры

Ниже представлены некоторые примеры импорта/экспорта/сохранения, используя here() изнутри проекта R. Более подробную информацию об использовании пакета here вы можете найти на странице Импорт и экспорт.

Импорт linelist_raw.xlsx из папки “data” в ваш проект R

linelist <- import(here("data", "linelist_raw.xlsx"))

Экспорт объекта R linelist в виде “my_linelist.rds” в папку “clean” внутри папки “data” в вашем проекте R.

export(linelist, here("data","clean", "my_linelist.rds"))

Сохранение наиболее свежего напечатанного графика в виде файла “epicurve_2021-02-15.png” внутри папки “epicurves” в папке “outputs” в вашем проекте R.

ggsave(here("outputs", "epicurves", "epicurve_2021-02-15.png"))

6.4 Ресурсы

Веб-страница RStudio по использованию проектов R