12 05 2019

Введение

О себе

  • Поздняков Иван

  • Факультет психологии МГУ (2009 - 2014)

  • Когнитивная магистратура НИУ ВШЭ (2014 - 2016)

  • Аспирант/стажер-исследователь Института Когнитивных Нейронаук ВШЭ

  • В свободное время: Digital Humanities, преподавание

Зачем курс

  • R с нуля

  • R-way

  • Практика на данных

  • Rmarkdown, ggplot2

Первый день: основы R

Второй день: работа с данными

Второй день: работа с данными

Третий день

  • Описательная статистика

  • Визуализация данных

  • RMarkdown

Третий день

library(ggplot2)
library(survival)
data(pbc)
g <- ggplot(pbc[complete.cases(pbc),], aes(x = age, y = chol, colour = chol, size = chol))+
  geom_point(alpha = 0.6)+
  scale_color_viridis_c()+
  theme_minimal()

Третий день

g

Третий день

plotly::ggplotly(g)

Третий день

День первый

R как калькулятор

Вектор

Список

Датафрейм

День второй

apply()

apply

data.table vs dplyr

"Широкий" формат

Студент До курса по R После курса по R
Маша 70 63
Рома 80 74
Антонина 86 71

"Длинный" формат

Студент Время измерения Вес (кг)
Маша До курса по R 70
Рома До курса по R 80
Антонина До курса по R 86
Маша После курса по R 63
Рома После курса по R 74
Антонина После курса по R 71

rbind(), cbind(), merge()

Третий день

Grammar of Graphics

Layered Grammar of Graphics

Layered Grammar of Graphics

  • Layer (geom +)
  • Scale
  • Coordinate system (coord)
  • Faceting (facet)
  • Theme
  • Defaults
    • Data
    • Mapping

Layer

  • Data
  • Mapping (aes)

“Aesthetics, in the original Greek sense, offers principles for relating sensory attributes (color, shape, sound, etc.) to abstractions.”

  • Statistical transformation (stat)
  • Geometric object (geom)

"Every geom has a default statistic, and every statistic a default geom ""

  • Position adjustment (position)

Position adjustment

Example: Pie-chart

library("ggplot2")
pie <- ggplot(data = pbc)
pie

Example: Pie-chart

pie <- pie +
  geom_bar(width = 1, position = "fill", color = "black", aes(x = "", fill = sex))
pie

Example: Pie-chart

pie + coord_polar(theta = "y")

Example: Pie-chart

pie + coord_polar(theta = "y")+theme_void()

Это было не так просто!

ggplot2 extensions

plotly

  • Dynamic visualization
  • Using d3.js

Example: scatterplot

library(plotly)
data(diamonds)
diamonds <- diamonds[sample(nrow(diamonds), 1000),]
gg <- ggplot(data = diamonds)+
  geom_point(aes(x = carat, y = price, colour = price), alpha = 0.1)

Example: scatterplot

ggplotly(gg)

Example: scatterplot

plot_ly(diamonds, x = ~carat, y = ~price, color = ~carat, size = ~carat)

Other html-widgets

RMarkdown