RMarkdown в R
Отмечу сразу что весь материал на этой странице не руководство по изучению RMarkdown а всего лишь небольшая наглядная "шпаргаолочка". Итак, вы провели научную работу или статистический тест в среде программирования R и получили графики и отчеты в виде текста. Теперь необходимо представить (показать широкой аудитории) ваш материал, причем сделав это максимально наглядно: пояснить смысл исследования, графиков и диаграмм. Это можно реализовать наглядно в виде отдельных слайдов. Пожалуй известные средства для создания слайдов это:
- PowerPoint, и вариации в лице LibreOffice Impress, Apple KeyNote
- облачные вариации с тем же подходом — Google Slides
- LaTeX
- RMarkdown
Итак, Markdown. Полная шпаргалка здесь.
Markdown это облегченный язык разметки, созданный с целью написания максимально читаемого и удобного для правки текста. Markdown является и лёгким для понимания, и легким для чтения даже без каких-либо трансформаций. С возможностью вывода в HTML, PDF, Microsoft Word.
R Markdown – это язык разметки, который позволяет объединять код, его результаты, текст, графики и картинки. Он очень удобен для составления различных отчетов.
Давайте попробуем создать наш первый R Markdown(.Rmd) файл. Там, где мы создаем скрипт нужно выбрать R Markdown.
Далее выйдет окно, в котором нужно дать название отчета, имя автора, а также тип выходного файла. Используйте html, можно также пользоваться pdf, но для этого нужен установленный LaTeX.
После этого у вас откроется Rmd файл.
Любой Rmd файл состоит из следующих частей:
- YAML Header – шапка документа, в которой указываются различные настройки того как должен выглядеть итоговый файл.
- Глобальные настройки чанков – настройки, которые идут по умолчанию для всех чанков. Позже еще вернемся к этому более подробно.
- Заголовок – имеется 6 уровней заголовков, количество решеток показывает уровень заголовка.
- Текст – можно писать любой текст, который вы хотите.
- Чанк – создается для того, чтобы отделить код от текста. Внутри чанка пишется код.
Oсновные элементы R Markdown
Заголовки (headings)
В синтаксисе Markdown есть шесть уровней заголовков: от H1 (самого большого) до H6 (самого маленького). Для их выделения используют решётки #, при этом есть несколько тонкостей:
решётки можно ставить как перед заголовком, так и с двух сторон от него (на уровень заголовка влияют только те #, которые находятся перед ним);
количество решёток соответствует уровню заголовка: одна для первого уровня, две для второго и так далее;
между решёткой и текстом ставится пробел.
# Заголовок первого уровня
## Заголовок второго уровня ##
### Заголовок третьего уровня
#### Заголовок четвёртого уровня #
##### Заголовок пятого уровня ############
###### Заголовок шестого уровня
1 Жирный шрифт
Для выделения текста жирным можно использовать конструкцию **текст** или __текст__.
2 Курсивный шрифт
Чтобы сделать текст курсивным можно использовать конструкцию *текст* или _текст_.
3 Моноширинный шрифт
Этот шрифт нужен для того, чтобы выделять куски кода прямо в тексте. Чтобы применить шрифт используем следующую конструкцию `текст`. Например, sum(x) не так заметен, как sum(x).
4 Верхние и нижние индексы
Можно поставить верхний и нижний индексы. Сначала пишем выражение, которое будет иметь эти индексы. Далее для верхнего индекса ставим ^^ и между ними пишем, что будет содержаться в верхнем индексе, для нижнего аналогично, но пишем между ~~. Например: R2i можно написать с помощью конструкции R^2^~i~.
5 Зачеркнутый текст
Чтобы зачеркнуть текст используйте конструкцию ~~текст~~.
6 Экранирование служебных символов
Обратный слэш(\), звёздочка(*), знак доллара($) и нижнее подчеркивание(_) являются служебными командами. Но если вы хотите их напечать, то используйте перед этими знаками обратный слэш. \, $, _, * .
7 Тире и длинное тире
Чтобы использовать тире нужно поставить два знака минуса (--). Например, Среднее – это сумма всех значений деленное на их количество. Если же вы хотите использовать длинное тире, то нужно поставить три знака минуса (---). Пробуем! Дисперсия случайно величины — мера разброса значений случайной величины относительно её математического ожидания.
8 Гиперссылки
Чтобы выделить гиперссылку, нужно использовать конструкцию <ссылка>. Например, главная страница яндекса находится по адрессу https://yandex.ru . Иногда гиперссылка выглядит очень некрасиво и её можно спрятать. Для этого используем конструкцию [текст] (ссылка), без пробела между скобками. Сделаем наше последнее предложение более красивым. Главная страница яндекса.
Чанк
Чанк создается, для того, чтобы R Markdown понимал где находится код, который нужно запустить.
Чанк можно создать с помощью кнопки Insert.
Выглядит он следующим образом.
Опции чанка
У чанков могут быть разные опции. Опции перечисляются через запятую внутри первых фигурных скобок.
echo
Данная опция может принимать логическое значение: TRUE или FALSE(default:TRUE). Она отвечает за вывод кода, находящийся в чанке. То есть код не будет отображен, но будет запущен и будет дан результат.
eval
Данная опция может принимать логическое значение: TRUE или FALSE(default:TRUE). Отвечает за исполнение кода в чанке. То есть, код не будет запущен, следовательно не будет и результата. Это удобно, когда вы хотите показать только код.
include
Данная опция может принимать логическое значение: TRUE или FALSE(default:TRUE). Отвечает за отображение кода и результата исполнения чанка. Удобно, если вы хотите сделать какие-то простые операции, но не хотите показывать ни код, ни результат. Если выставить FALSE, то код запустится, но мы не увидим ничего в документе.
message и warning
Данные опции могут принимать логические значение: TRUE или FALSE(default:FALSE). Предотвращает появление сообщений или предупреждений в конечном файле.
error
Данная опция может принимать логическое значение: TRUE или FALSE(default:FALSE). Если у вас имеется ошибка в чанке, то файлик не соберется. Если вы все таки хотите увидеть файлик и заняться ошибкой позже, то можно поставить этот параметр равный TRUE.
comment
Данная опция может принимать строковое значение(default:‘##’). Отвечает за префикс перед каждой строкой вывода результата.
highlight
Данная опция может принимать логическое значение: TRUE или FALSE(default:TRUE). Отвечает за подсвечивание синтаксиса кода.
collapse
Данная опция может принимать логическое значение: TRUE или FALSE(default:FALSE). Можно объединить вывод кода в один блок или несколько.
LaTeX в R Markdown
Есть такой язык верстки как LaTeX! С его помощью можно делать крутые формулы.
Формулы можно записывать между двумя долларами: $тут формула$.
Списки
Нумерованный список
Чтобы сделать нумерованный список можно просто ставить цифру с точкой и сделав отступ.
- Рассказать про некоторые фишки в R.
- Разобрать R Markdown.
- Дать домашку.
Маркированный список
Чтобы создать маркированный список в R Markdown, нужно использовать дефисы (-) и табуляцию. Например:
- первый элемент маркированного списка
- второй элемент маркированного списка
- элемент более низкого уровня
Двойной список
1. Python
- PyCharm
- IPython
- Jupyter notebook
2. R
- RStudio
- Jupyter notebook
Таблички
Таблички делаются следующим образом.
Горизонтальная линия
Можно сделать горизонтальную линию, которая горизонтально поделит файл. Сделать можно с помощью 3 или более тире подряд.
Создадим небольшой отчет в виде боксплота и гистограммы о генерации случайных чисел.
|
--- **Задача №1** Сгенирировать 100 случайных чисел распределенных по закону нормального распределения со следующими параметрами: $Mean = 50$, $SD = 10$. *Указание: установите set.seed(5)*.Постройте "ящик с усами" и выведите описательную статистику сгенерированных случайных чисел. ```{r} ``` |
И вот что в итоге у нас получилось.



