R Markdown – это язык разметки, который позволяет объединять код, его результаты, текст, графики и картинки. Он очень удобен для составления различных отчетов.
Давайте попробуем создать наш первый R Markdown(.Rmd) файл. Там, где мы создаем скрипт нужно выбрать R Markdown.
Далее выйдет окно, в котором нужно дать название отчета, имя автора, а также тип выходного файла. Используйте html, можно также пользоваться pdf, но для этого нужен установленный LaTeX.
После этого у вас откроется Rmd файл.
Любой Rmd файл состоит из следующих частей:
Давайте попробуем собрать этот файлик. Чтобы это сделать, нужно нажать на кнопку Knit, которая находится на панели для файла. После нажатия у вас появится html файлик.
Видим, что код находится в отдельном окошке. А также его результат выносится в отдельное окошко.
Для выделения текста жирным можно использовать конструкцию **текст** или __текст__. Давайте попробуем! Сегодня мы изучаем R Markdown.
Чтобы сделать текст курсивным можно использовать конструкцию *текст* или _текст_. Пробуем! Для формирования отчетов удобно пользоваться R Markdown.
Этот шрифт нужен для того, чтобы выделять куски кода прямо в тексте. Чтобы применить шрифт используем следующую конструкцию `текст`. Например, sum(x) не так заметен, как sum(x)
.
Можно поставить верхний и нижний индексы. Сначала пишем выражение, которое будет иметь эти индексы. Далее для верхнего индекса ставим ^^ и между ними пишем, что будет содержаться в верхнем индексе, для нижнего аналогично, но пишем между ~~. Например: R2i можно написать с помощью конструкции R^2^~i~.
Чтобы зачеркнуть текст используйте конструкцию ~~текст~~. Например, я являюсь студентом преподавателем ВШЭ.
Обратный слэш(\), звёздочка(*), знак доллара($) и нижнее подчеркивание(_) являются служебными командами. Но если вы хотите их напечать, то используйте перед этими знаками обратный слэш. \, $, _, * .
Чтобы использовать тире нужно поставить два знака минуса (--). Например, Среднее – это сумма всех значений деленное на их количество. Если же вы хотите использовать длинное тире, то нужно поставить три знака минуса (---). Пробуем! Дисперсия случайно величины — мера разброса значений случайной величины относительно её математического ожидания.
Чтобы выделить гиперссылку, нужно использовать конструкцию <ссылка>. Например, главная страница яндекса находится по адрессу https://yandex.ru . Иногда гиперссылка выглядит очень некрасиво и её можно спрятать. Для этого используем конструкцию [текст] (ссылка), без пробела между скобками. Сделаем наше последнее предложение более красивым. Главная страница яндекса.
Чанк создается, для того, чтобы R Markdown понимал где находится код, который нужно запустить.
Чанк можно создать с помощью кнопки Insert.
Выглядит он следующим образом.
Внутри этого блока и нужно писать код. Буква r в фигурных скобках означает, что в чанке будет код на языке R. Дело в том, что можно использовать несколько языков программирования сразу.
У чанков могут быть разные опции. Опции перечисляются через запятую внутри первых фигурных скобок.
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:TRUE
). Она отвечает за вывод кода, находящийся в чанке. То есть код не будет отображен, но будет запущен и будет дан результат. Давайте попробуем на примере.
Просто выведем “Hello world!” и выставим TRUE
в опции echo.
print('Hello world!')
## [1] "Hello world!"
А теперь попробуем выставить FALSE.
Посмотрим, что поменяется.
## [1] "Hello world!"
Как видно, теперь код не высвечивается, но результат мы видим.
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:TRUE
). Отвечает за исполнение кода в чанке. То есть, код не будет запущен, следовательно не будет и резульата. Это удобно, когда вы хотите показать только код.
print('Hello world')
## [1] "Hello world"
А теперь попробуем выставить FALSE
. Посмотрим, что поменяется.
print('Hello world')
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:TRUE
). Отвечает за отображение кода и результата исполнения чанка. Удобно, если вы хотите сделать какие-то простые операции, но не хотите показывать ни код, ни результат.
m <- 10
m
## [1] 10
Если выставить FALSE
, то код запустится, но мы не увидим ничего в документе.
Даннык опции могут принимать логические значение: TRUE
или FALSE
(default:FALSE
). Предотвращает появление сообщений или предупреждений в конечном файле.
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:FALSE
). Если у вас имеется ошибка в чанке, то файлик не соберется. Если вы все таки хотите увидеть файлик и заняться ошибкой позде, то можно поставить этот параметр равный TRUE
.
'name' + 5
## Error in "name" + 5: нечисловой аргумент для бинарного оператора
Данная опция может принимать строковое значение(default:‘##’). Отвечает за префикс перед каждой строкой вывода результата.
print('Hello world')
## [1] "Hello world"
А теперь поменяем префикс.
print('Hello world')
-> [1] "Hello world"
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:TRUE
). Отвечает за подсвечивание синтаксиса кода.
Данная опция может принимать логическое значение: TRUE
или FALSE
(default:FALSE
). Можно объединить вывод кода в один блок или несколько.
print(2 + 2)
## [1] 4
print('Hello world!')
## [1] "Hello world!"
А теперь с FALSE
.
print(2 + 2)
## [1] 4
print('Hello world!')
## [1] "Hello world!"
Остальные опции чанков можно найти по этой cсылке.
Например, вы хотите показывать в файле только код. Для этого в каждом чанке нужно написать eval=FALSE
. Чтобы этого не делать, в самом начале файла после YAML Header идет чанк, в котором можно установить дефолтные значения опций чанков.
В R Markdown можно вставлять значение какой-то переменной прямо в текст. Давайте попробуем. Создадим матрицу.
m <- matrix(1:12, nrow = 3, ncol = 4)
В матрице m
имеется 4 столбцов и 3 строчек.
Есть такой язык верстки как LaTeX! С его помощью можно делать крутые формулы.
Формулы можно записывать между двумя долларами: $тут формула$.
Первый замечательный предел: lim .
Выглядит не очень. Формулу лучше выносить на отдельную строчку. Чтобы это сделать используем двойные знаки доллара.
Второй замечательный предел:) \lim_{n \to \infty} \left(1+\frac{1}{n}\right)^n = e
Чтобы сделать нумерованный список можно просто ставить цифру с точкой и сделав отступ.
A friend once said:
It’s always better to give than to receive.
Тут должна быть цитата)
Картинка в студию
Таблички делаются следующим образом.
First Header | Second Header |
---|---|
Content Cell | Content Cell |
Content Cell | Content Cell |
Можно сделать горизонтальную линию, которая горизонтально поделит файл. Сделать можно с помощью 3 или более тире подряд.
Обычно инструментов R Markdown хватает, чтобы делать отчеты. Но так как на выходе вы получаете HTML страничку, вы можете пользоваться и инструментами HTML.
Например, создавать таблички удобным способом на сайте. А потом просто вставлять код, который получили.
Или менять цвет текста.
Код | Текст |
---|---|
<font color=“red”>This is some text!</font> | This is some text! |
<font color=“green”>This is some text!</font> | This is some text! |
<font color=“blue”>This is some text!</font> | This is some text! |
В YAML Header можно добавлять очень много классных штук. Например, если вы знаете CSS, то можете добавить какую-то стилистику вашему файлу. Также можно задать удобную навигацию с помощью параметров toc
и toc_float
. Есть очень много параметров, которые можно прочитать в документации.