2 Скрипты, RMarkdown/Quarto и проекты
Выполнять код, написанный на языке R, можно из консоли. Все выполненные комманды сохраняются в истории (панель History справа, там же где и Environment), однако для удобства вопроизведения анализа лучше сохранять код в файле - R скрипте или Rmd/Qmd документе.
2.1 R скрипт
Самый простой вариант для хранения кода, написанного на R, это создание R скрипта [R script] - файла с расширением .R
. В простейшем случае R скрипт - это последовательное перечисление всех комманд, которые нужны для вашего анализа данных.
Создать новый R скрипт можно следующим образом:
File -> New File -> R script
(слева вверху в RStudio), либо- с помощью кнопки “создать новый файл”, расположенной ниже
File
, иR script
, либо - с помощью сочетания клавиш
Ctrl + Shift + N
.
Когда вы создадите новый R скрипт, то в RStudio откроется новый пустой файл Untitled
в панели для файлов (обычно над Консолью). Не забудьте сохранить новый файл и дайте ему имя, которое бы отражало его будущее содержание, чтобы дальше вам было удобно ориентироваться среди нескольких ваших скриптов. Как и в случае других файлов, в имени R скрипта лучше использовать латиницу. Если вы сами не укажите формат файла при сохранении, то RStudio сохранит файл в формате .R
- то, что надо.
Весь код в скрипт можно записывать так же, как если бы вы писали его в Консоль - все нужные команды последовательно. Не забывайте указывать в скрипте, какие R пакеты необходимо подгрузить (library(...)
), и как сохранять результаты, если необходимо.
Пояснения к коду и другую информацию, не являющуюся исполнимым кодом, можно записывать как комментарии - они отделяются от кода знаком #
. Пример R скрипта представлен на рис. Рисунок 2.1.
Чтобы запустить весь скрипт или выполнить несколько строчек можно воспользоваться кнопкой Run
, расположенной справа сверху над открытым скриптом. Либо можно воспользоваться сочетанием клавиш Ctrl + Enter
, чтобы выполнить одну строку кода - для этого указатель текущей строки должен находиться на нужной строке, или чтобы выполнить сразу несколько строк - для этого данные строки должны быть выделены целиком.
Результат выполнения кода из скрипта отображается в Консоли либо в панели Plots справа (если скрипт рисует графики).
2.2 Rmd/Qmd документ
R Notebook или R Markdown документы (файлы формата .Rmd
), а также Quarto документы (файлы формата .qmd
) позволяют писать код и проводить анализ с помощью R и одновременно с этим создавать документы-отчеты по этому анализу в разных форматах - html, pdf или word. Использовать Rmd документы удобно в тех случаях, когда хочется сразу же объединить код и результат этого кода в едином документе.
Для создания нового Rmd/Qmd документа в меню File -> New File
можно выбрать либо R Notebook, либо R Markdown, либо Quarto document, большой разницы между ними нет. Если вы выбирете вариант R Markdown, то в открывшемся окошке настроек можете ничего не менять и нажать OK.
Новый Rmd документ уже содержит некоторый текст и код - небольшой туториал, по которому можно освоить основные идеи Rmarkdown формата (см. рис. Рисунок 2.2).
Во-первых, в самом начале файла записывается метаинформация о данном файле в формате YAML - это название документа (заголовок), имя автора, дата, формат генерируемого отчета и много всего другого. YAML шапка отделяется от всего остального содержимого файла тремя знаками минус ---
.
Код на языке R в Rmd документе записывается в оформленных блоках кода [chunks]. Блоки кода обозначаются с помощью трех обратных апострофов, которые “обособляют” кусок кода (это может быть как одна строка, так и несколько) с обеих сторон. После начальных трех апострофов в фигурных скобках указывается буква r
, сообщающая, что ниже идет код, написанный на языке R и который нужно читать и интерпретировать согласно правилам этого языка. Также внутри фигурных скобок можно указать имя блока кода (необязательно) и некоторые параметры. Внутри блока кода можно писать комментарии, обозначая их знаком #
. Таким образом, блок кода в простейшем случае выглядит следующим образом:
```{r}
# Подгрузить пакет tidyverse для работы с табличными данными и графиками
library(tidyverse)
head(msleep)
%>% filter(vore == "herbi") # отфильтровать по столбцу
msleep ```
Текст в Rmd документе пишется вне блоков кода, как обычный текст. Заголовки начинаются со знака #
, количество этих знаков определяет уровень заголовка. Выделение слов курсивом или жирным осуществляется с помощью знаков *
или **
в начале и конце слов, которые нужно выделить.
Выполнять код из блоков кода можно так же как и в R скрипте с помощью Ctrl + Enter
, или использовать кнопку с зеленым треугольником, расположенную у каждого блока кода, чтобы выполнить блок целиком. Результаты выполнения кода будут отображаться либо под соответствующим блоком кода (по умолчанию), либо в Консоли - это можно изменить в настройках Rmd документа (кнопка “шестеренка” -> Chunk Output Inline / Chunk Output in Console).
Чтобы сформировать отчет в формате html/pdf/word из Rmd документа нужно использовать кнопку с синим мотком пряжи Knit
(рядом с “шестеренкой” в панели над открытым документом) или кнопку Preview
, если Knit
отстутствует. Маленький треугольничек рядом открывает список опций с форматами генерируемых отчетов.
Для создания отчета из Qmd документа нужно использовать кнопку Render
.
2.3 R проект
Для удобства работы с отдельными проектами по анализу данных и прочим задачам в RStudio реализована идея R проектов. R проект можно представить как отдельный рабочий стол для одного вашего реального проекта в кабинете, где таких столов может быть очень много. Используя R проекты, вы не запутаетесь в том, где лежат ваши данные, ваши результаты и скрипты, и будете всегда уверены в том, что находитесь в нужной рабочей директории.
Рабочая директория - та директория, в которой R в данный момент “работает”. До файлов, находящихся в рабочей директории, “дотянуться” легко, а до остальных может быть посложнее. Чтобы определить рабочую директорию можно воспользоваться функцией getwd()
, а чтобы сменить директорию - setwd("some/directory/path")
. Обратите внимание, что путь до директории должен быть указан в кавычках.
R проект позволяет не задумываться о рабочих директориях. Когда вы открываете R проект, то рабочая директория автоматически сменяется на ту, в которой лежит соответствующий файл .Rproj
.
Создать новый R проект можно следующим образом:
File -> New Project -> New Directory или Existing Directory -> New Project
, либо- с помощью кнопки R в синем кубе слева или справа вверху в RStudio.
Когда вы создаете новый R проект в определенной директории, то в этой директории появляется файл your_project_name.Rproj
. Когда вы закроете RStudio, снова открыть RStudio и сразу этот проект можно, “открыв” этот your_project_name.Rproj
файл.
Организовавать файлы внутри рабочей директории проекта можно по-разному, один из вариантов представлен на рис. Рисунок 2.3.
Почитать побольше про R проекты можно, например, здесь.