Магистратура
2024/2025
Программирование в R
Статус:
Курс обязательный (Анализ данных для государства и общества)
Направление:
39.04.01. Социология
Кто читает:
Департамент социологии
Где читается:
Санкт-Петербургская школа социальных наук
Когда читается:
1-й курс, 1 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Соколов Борис Олегович
Прогр. обучения:
Анализ данных для государства и общества
Язык:
русский
Кредиты:
3
Программа дисциплины
Аннотация
R – это язык программирования, специально разработанный для реализации сложных статистических вычислений и продвинутых методов анализа данных. На сегодняшний день он является популярным рабочим инструментом у количественных аналитиков – как в науке (в том числе и разнообразных обществоведческих дисциплинах), так в бизнесе, медиа и других прикладных сферах. Цель данного курса – помочь всем заинтересованным освоить этот язык. В рамках курса будет показано, как использовать R для предварительной подготовки данных, разведывательного анализа и представления результатов, в том числе с использованием функционала экосистемы {tidyverse}. Мы также поговорим об основных принципах написания эффективного и масштабируемого кода и организации аналитического процесса при работе в R и разберём, как использовать язык разметки R markdown для создания отчётов и презентаций по итогам исследовательских проектов. Предполагается, что слушатели знакомы с основами статистики (т.е. понимают такие базовые термины, как вероятность, переменная, распределение, среднее, стандартное отклонение/дисперсия). Опыт работы с другими программами для анализа данных (SPSS, Stata, SAS) или языками программирования общего назначения (Python, C++) является полезным, хотя и необязательным активом.
Цель освоения дисциплины
- Основная цель данного предмета заключается в том, чтобы помочь студентам освоить базовые навыки работы с языком программирования R для предварительной обработки и разведывательного анализа данных.
Планируемые результаты обучения
- Установить R и Rstudio на персональный компьютер/ноутбук
- Выполнять простые и продвинутые математические и логические операции с использованием R
- Применять базовые формальные и неформальные принципы программирования в R. Разбираться в основных классах объектов и структурах данных, реализованных в языке.
- Импортировать внешние базы данных в R.
- Чистить, перекодировать, трансформировать, фильтровать и объединять данные с использованием базового функционала R, а также инструментов среды {tidyverse}.
- Проводить разведывательный анализ данных в R, получать частотные распределения, пропорции, средние и другие меры центральной тенденции, дисперсии, корреляции и т.д. для заданных признаков.
- Визуализировать данные с использованием базового функционала R, а также библиотеки {ggplot2}.
- Представлять результаты анализа в табличной форме.
- Писать собственные команды на языке R, а также профилировать и выявлять/устранять ошибки в коде.
- Создавать аналитические отчёты с помощью R markdown.
- Писать собственные команды на языке R, а также профилировать код и выявлять/устранять ошибки в коде
Содержание учебной дисциплины
- День 1: вводная информация. Начало работы в R.
- День 2: разведывательный анализ данных с использованием базовых инструментов R
- День 3: представление данных с использованием базовых инструментов R.
- День 4: разведывательный анализ данных с использованием среды {tidyverse}
- День 5: визуализация данных с помощью библиотек {ggplot2} и {ggpubr}.
- День 6: Основные принципы программирования в R.
- День 7: Подготовка аналитических отчётов с помощью R markdown.
Элементы контроля
- Работа в классеУчастие в дискуссиях и в разборе практических/домашних заданий, ответы на вопросы преподавателя и вопросы преподавателю, которые позволяют аудитории узнать что-то новое либо лучше усвоить материал и прояснить непонятные места. Учитываются как вовлечённость в работу класса (вы демонстрируете желание понять, что происходит вокруг), так и корректность произнесенного вслух (вы демонстрируете понимание; критерии примерно такие же, как и для письменных заданий). Второй компонент, однако, обладает большим весом - по вполне очевидным причинам.
- Итоговый экзаменПисьменная работа (либо задание аналогичной сложности в формате лайвкодинга с лимитом времени на выполнение 30 минут), в рамках которой, как и в домашних заданиях, вам нужно будет решить ряд задач по написанию кода в целях подготовки и преобразования данных, а также их разведывательного анализа и визуализации (см. пример ниже). Предварительный крайний срок сдачи ваших экзаменационных работ - 16:20, вторник, 22 октября 2024 года (дата и время могут быть впоследствии изменены). Примечание: формат лайвкодинга на итоговом экзамене будет применяться в тех случаях, когда у меня возникнут сомнения в том, что студент самостоятельно выполнял домашние письменные задания (в том числе использовал нейросетевые модели типа ChatGPT и её аналогов от других производителей либо сдавал работы, выполненные другими людьми). Например, если человек получает 10 баллов за домашнее задание, а в аудитории демонстрирует явное непонимание базовых вещей, связанных с программированием в R. Впрочем, этим список возможных оснований для назначения лайвкодинга не исчерпывается. Список слушателей, которые будут сдавать в этом формате, будет оглашён как минимум за неделю до даты официального экзамена.
- Домашние заданияПосле некоторых лекций (не всех) вам будут даваться домашние задания. Типичное ДЗ представляет собой набор задач по написанию кода в R, который позволяет ответить на те или иные содержательные вопросы. Иногда от вас будет требоваться прокомментировать/объяснить ваш код. ДЗ сдаются в письменной форме (электронный документ в формате MS Word, обычно – длиной 1-2 стр. 12 шрифтом с единичным междустрочным интервалом). Их следует отправлять на электронную почту преподавателя до начала занятия, на котором разбираются решения соответствующих ДЗ (если не оговорено иное, то это означает, что ваше решение надо прислать до 16:20 вторника, на который было назначено задание). Обратите внимание, что работы, присланные с опозданием, не принимаются. Другими словами, в случае пропуска дедлайна вы автоматически получаете 0 баллов. Исключение может быть сделано только в том случае, если у вас не получилось прислать задание вовремя в силу воздействия непреодолимых внешних причин и вы можете доказать это документально. В таком случае вам будет даваться альтернативное задание эквивалентной сложности по той же теме.
Промежуточная аттестация
- 2024/2025 1st module0.6 * Домашние задания + 0.25 * Итоговый экзамен + 0.15 * Работа в классе
Список литературы
Рекомендуемая основная литература
- R в действии. Анализ и визуализация данных на языке R, Кабаков, Р.И., 2014
- Wickham, H., & Grolemund, G. (2016). R for Data Science : Import, Tidy, Transform, Visualize, and Model Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1440131
Рекомендуемая дополнительная литература
- Wickham, H. (2015). Advanced R, Second Edition. Boca Raton, FL: Chapman and Hall/CRC. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=934735