R Markdown

Что такое RMarkdown

Чанки с кодом

Это чанк с кодом. Он отделяется ``` с обоих сторон и {r}. Это означает, что внутри находится код на R, который должен быть выполнен:

Настройки чанка

У чанка с кодом есть набор настроек. Самый важные из них такие:

  • echo: будет ли показан сам код

  • message и warning: будут ли показаны сообщения и предупреждения, всплывающие во время исполнения кода

  • eval: будет ли испольняться код внутри чанка

Настройка нескольких чанков

Все эти настройки можно настроить как для отдельных чанков, так и для все чанков сразу:

knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)

Чанки с Python!

x = 'hello, python !'
print (x.split(" "))
## ['hello,', 'python', '!']

Код вне чанков (inline code)

Число пи равно 3.1415927

Синтаксис Markdown (без R)

Выделение текста

Курсив Тоже курсив Полужирный Тоже полужирный

Заголовки разных уровней

Мне заголовок

И моему сыну тоже

И моему!
OK, boomer

Списки

  • Первый вариант списка выглядит так:

  • Можно и с подсписком
  • Почему бы и нет?

  1. Кому нужен порядок
  2. Тот списки номерует

Цитаты

Цитата:

Я устал
Который год во мне живет нарвал

P.S. Я читаю данные эксперимента @pozdniakov2019

library(data.table)
go <- fread("iGLAS for R course.csv")
go[1:4,1:4]
##     StartDate   EndDate Status      IPAddress
## 1:  1/15/2017 1/16/2017      0   144.139.7.52
## 2:  1/27/2017 1/27/2017      0  31.54.151.215
## 3:  1/24/2017 1/24/2017      0   176.62.130.7
## 4: 01/10/2017 1/23/2017      0 86.161.181.218

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

Таблицы

library(knitr)
kable(go[1:5,1:4])
StartDate EndDate Status IPAddress
1/15/2017 1/16/2017 0 144.139.7.52
1/27/2017 1/27/2017 0 31.54.151.215
1/24/2017 1/24/2017 0 176.62.130.7
01/10/2017 1/23/2017 0 86.161.181.218
12/11/2016 12/11/2016 0 31.211.8.249

Динамические таблицы

library(DT)
datatable(go[1:5, 1:5])

Визуализации

library(ggplot2)
library(Stat2Data)
library(data.table)
data("Backpack")
back <- as.data.table(Backpack)

ggplot_scatter <- ggplot(back, aes(x = BodyWeight, y = BackpackWeight))+
  geom_point(aes(colour = Sex), alpha = 0.5, size = 2)
ggplot_scatter

Динамические визуализации в plotly

library(plotly)
ggplotly(ggplot_scatter)

Синтаксис plotly

plot_ly()

Вставлять HTML

Twitter