Intro
О задачнике
Этот набор задач сложился во время моего (Филипп Управителев) курса по анализу данных на факультете социальных наук НИУ ВШЭ. Студентам надо было придумывать домашние задания для закрепления материала и более наглядной иллюстрации некоторых концепций. По этой причине основные темы задачника частично соответствуют курсу. Со временем пул тем и задач расширяется, однако в любом случае я стремлюсь сохранять фокус на base R, концепциях языка и основных инструментах. В перспективе хочется покрыть задачами основные разделы учебника и только потом -- отдельные пакеты.
Лицензия
Это произведение доступно по лицензии CC BY-NC-ND 4.0.
R intro
Задачник является частью проекта R Intro, который также включает в себя введение в язык R, конспекты по конкретным пакетам, записи вебинаров и прочие материалы. Обновление материалов проекта ведётся по принципу пакетов, то есть с некоторой эпизодичностью и журналом изменений.
Контакты
Если у вас есть предложения по темам задачника или же вы можете поделиться своими задачами и примерами -- пришлите их, пожалуйста, в Issues. Так же вы можете написать мне (@konhis, Philipp Upravitelev) в telegram или в ODS.
Поддержать проект
Если вам понравились материалы или идея проекта R Intro и его разделов, вы можете купить мне чашечку кофе или порадовать ежемесячной подпиской. Для тех, кто не в России, так же есть ko-fi.
Разделы
Операторы: Операторы. Операции сложения, вычитания, степени. Присвоение. Логические операторы.
Манипуляции с векторами: Векторизованные операции. Сравнение значений, объединение результатов сравнения. Извлечение значений по индексу и по условию. Модификация элементов.
Работа со строками: Конкатенация строк. Разделение строк. Количество символов в строке. Смена регистра. Регулярные выражения. Замена символов и групп символов. Работа с группами.
Другие объекты: Создание списков. Навигация по структуре. Извлечение и модификация вложенных элементов. Уровни фактора. Сортировка, конверсия уровней в числа. NA, NULL, NaN. Проверка на наличие и удаление пропусков.
Дата и время: unix-таймстамп. Формат дат и выделение частей дат. Сложение и вычитание с датами. Некоторые полезные функции пакета lubridate
Таблицы: Форматы data.table и tibble. Создание таблиц. Фильтрация строк по значению и по условию. Изменение значений в ячейке. Добавление и удаление колонок. Склейка двух таблиц по строкам и по колонкам. Мердж таблиц. Решейп таблиц. Агрегации.
Статистические вычисления: Среднее, медиана, ст.отклонение. Процентили. Генерация выборки из ген.совокупности, вероятность события. Работа с объектом вывода стат.функции (
lm()
,t.test()
).Основы программирования: Ветвления
if...else
,ifelse()
,switch()
. Создание функций. Аргументы по умолчанию. Несколько объектов в результате функции. Циклfor
. Функции семества*pply
и анонимные функции.Визуализация: Статичная визуализация. Пакет
ggplot2
: Основные геомы (бар, линия). Группировка по цвету. Изменение параметров геомов. Комбинация слоев. Легенды. Темы. Фасеты. Интерактивная визуализация. Пакетplotly
: Основные геомы (бар, линия). Группировка по цвету. Изменение параметров графиков. Комбинация слоев. Легенды. Ховеры.Web-скрапинг: Навигация по XPath. Скрапинг данных с сайта CRAN
API: URL-энкодер/декодер. POST-запрос. Обработка ответа.