АВТОМАТИЗИРОВАННЫЙ СБОР БОЛЬШИХ ДАННЫХ В ЭКОНОМИКО-СОЦИОЛОГИЧЕСКИХ ИССЛЕДОВАНИЯХ

…или просто курс по R

Иван Поздняков, Юлия Морева

НИУ ВШЭ

September 9, 2024

Кто мы

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

  • преподаю R и статистику 8 лет

  • психфак МГУ (кафедра психофизиологии) и магистратура по Cognitive Neuroscience в Вышке

  • ex-Старший преподаватель Вышки

  • Еще занимаюсь Digital Humanities

  • R-энтузиаст

  • Сейчас живу в Германии

Юлия Морева

  • работаю в Лаборатории Сравнительных Социальных Исследований им. Р.Ф. Инглхарта
  • изучаю суюъективное благополучие и политическое участие
  • преподаю в НИУ ВШЭ
  • психфак СПБГУ, магистратура НИУ ВШЭ СПб по социологии
  • аспирант x 2

Почему R?

Для кого этот курс

  • Для тех, кто без опыта программирования: R с нуля

  • Для тех, кто владеет другими языками программирования: R-way

  • Для тех, кто уже знает R: продвинутые фишки R

И все это в едином потоке безумия!

Как это будет

План курса

  • Три блока:

    БЛОК I. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ В R. (8 занятий)

    БЛОК II. ВИЗУАЛИЗАЦИЯ ДАННЫХ В R. (4 занятия)

    БЛОК III. ВЕБ-СКРЭПИНГ В R. (3 занятия)

БЛОК I. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ В R. (8 занятий)

  1. О курсе, знакомство. Введение в R и RStudio. R как калькулятор. Операторы, типы данных

  2. Вектор, индексирование вектора.

  3. Логические векторы. NA. Матрицы, списки, датафреймы.

  4. Работа с пакетами. Импорт и экспорт данных.

  5. Условные функции, создание функций.

  6. Семейство apply(), {data.table} vs tidyverse

  7. tidyverse

  8. tidyverse (продолжение)

БЛОК II. ВИЗУАЛИЗАЦИЯ ДАННЫХ В R. (4 занятия)

  1. Визуализация. Введение.

  2. {ggplot2}

  3. {ggplot2} (продолжение)

  4. {plotly}

БЛОК III. ВЕБ-СКРЭПИНГ В R. (3 занятия)

  1. WEB-скрэппинг. Структура HTML-страницы. {rvest}.

  2. API

  3. Пример работы с API.

Система оценок

  • БЛОК I. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ В R.

0.15 – тест
0.2 – ДЗ (манипуляции с готовыми табличками)

  • БЛОК II. ВИЗУАЛИЗАЦИЯ ДАННЫХ В R.

0.15 – тест
0.1 – мини-ДЗ
0.2 – ДЗ (графики)

  • БЛОК III. ВЕБ-СКРЭПИНГ В R.

0.2 – ДЗ (работа с API).

Как мы будем работать

Я буду рассказывать и писать код. Вы будете писать его вместе со мной. 

Иногда я буду задавать вопросы и делать ошибки (иногда специально, иногда – нет).

Периодически вы будете решать самостоятельные задачи. На это будет выделено отдельное время в занятии, иногда довольно большое. Мы не пойдем дальше, пока все не решат хотя бы несколько заданий!

Обычно первые задания – легкие, последние задания – сложные. Это сделано так, чтобы тем, кому все кажется слишком легким, не было скучно. Если вы не успели решить все задания, то ничего страшного, но я рекомендую дорешать задания дома.

Если же вы сделали все задания, то можете помогать остальным в чате: объяснение другим – это отличный способ понять тему еще лучше!

Мы учимся программированию!

А программирование – это сложно.

Если вам сложно, то так и должно быть, все нормально. Если что-то не получается, то это нормально.

  • Это не похоже на изучение обычных предметов или даже на изучение математики. Это похоже на освоение навыков

  • Практика – обязательна! Без нее ничего не получится

  • Не пытайтесь сделать по аналогии или найти какой-то готовый алгоритм: вы должны сами его придумать!

Но оно того стоит!

  • Linear Warriors, Quadratic Wizards

Но оно того стоит!

  • Linear Warriors, Quadratic Wizards

Melee classes gain power at a linear rate as they level up.
Magic users gain power quadratically as they level up.” (tvtropes.org)

Но оно того стоит!

  • Linear Warriors, Quadratic Wizards

Excel users gain power at a linear rate as they level up.
R users gain power quadratically as they level up.” (me)

ПОЕХАЛИ