К курсам
AI014 Professional

Введение в программирование на языке R

Этот курс представляет собой всестороннее введение в среду программирования на языке R, охватывающее основные темы: операции с числовыми векторами, атрибуты объектов, обработка массивов и матриц, управление списками и данными, статистическое моделирование и создание качественных графиков. Он отлично подходит в качестве вводного руководства по статистическому анализу и наукам о данных.

4.9
30.0h
716 учеников
2 лайки
Искусственный интеллект
Начать обучение

Обзор курса

📚 Краткое содержание

Этот курс представляет собой всестороннее введение в среду языка программирования R, охватывающее основные темы от базовых операций с числовыми векторами, атрибутов объектов и работы с массивами/матрицами до управления списками и данными, статистического моделирования и создания качественных графиков. Он подходит в качестве вводного учебника для анализа данных и науки о данных.

Освойте основы языка R и откройте дверь к статистическим вычислениям и визуализации данных.

Автор: Команда разработчиков R

Благодарности: Настоящее руководство поддерживается командой разработчиков R. Китайская версия благодарит Шигеру Масэ за основу японского перевода, а также докторов Цзяньпин Ли, Руй Ли и других членов команды по переводу на китайский язык.

🎯 Цели обучения

  1. Инициализировать сессии R, ориентироваться в системе справки и применять основные правила синтаксиса (регистрозависимость, присваивания, комментарии).
  2. Различать и создавать логические векторы, символьные векторы, а также работать с отсутствующими значениями (NA и NaN).
  3. Использовать четыре различных метода индексирования для выбора, исключения или изменения конкретных подмножеств данных.
  4. Определять и изменять внутренние атрибуты объектов R (тип и длину).
  5. Использовать функции class() и attr() для управления метаданными и структурами данных.
  6. Создавать и управлять факторами и упорядоченными факторами для представления категориальных данных.
  7. Определять и создавать массивы и матрицы с использованием векторов размерностей и функции array().
  8. Применять продвинутые техники индексирования, включая использование матриц индексов для извлечения или модификации конкретных элементов.
  9. Выполнять операции линейной алгебры, включая внешние произведения, обобщённые транспонирования и обращение матриц.
  10. Создавать и модифицировать списки: создавать именованные и безымянные списки, объединять их с помощью специфичного синтаксиса R.

🔹 Урок 1: Введение в R и основы векторов

Обзор: Этот урок знакомит с фундаментальной средой R, охватывая её базовый синтаксис, выполнение команд и системы справки. Далее рассматриваются специализированные типы векторов — логические, символьные и отсутствующие значения — и подробно описываются методы выбора и модификации подмножеств данных с помощью векторов индексов.

Результаты обучения:

  • Инициализировать сессии R, ориентироваться в системе справки и применять основные правила синтаксиса (регистрозависимость, присваивания, комментарии).
  • Различать и создавать логические векторы, символьные векторы, а также работать с отсутствующими значениями (NA и NaN).
  • Использовать четыре различных метода индексирования для выбора, исключения или изменения конкретных подмножеств данных.

🔹 Урок 2: Атрибуты объектов и работа с факторами

Обзор: В этом уроке рассматриваются фундаментальные свойства объектов R, в частности их внутренние атрибуты, такие как тип и длина, и способы их запроса или модификации. Также рассматривается понятие «факторов» — специализированной структуры данных для обработки категориальных переменных — и демонстрируется использование функции tapply() для проведения группового статистического анализа по уровням факторов.

Результаты обучения:

  • Определять и изменять внутренние атрибуты объектов R (тип и длина).
  • Использовать функции class() и attr() для управления метаданными и структурами данных.
  • Создавать и управлять факторами и упорядоченными факторами для представления категориальных данных.

🔹 Урок 3: Массивы, матрицы и линейная алгебра

Обзор: В этом уроке исследуются мощные возможности R для работы с многомерными данными через массивы и матрицы. Студенты узнают, как определять структуры данных с помощью векторов размерностей, выполнять сложное индексирование и осуществлять ключевые операции линейной алгебры — такие как умножение матриц, обращение и разложения — которые необходимы для статистических вычислений и анализа данных.

Результаты обучения:

  • Определять и создавать массивы и матрицы с помощью векторов размерностей и функции array().
  • Применять продвинутые техники индексирования, включая использование матриц индексов для извлечения или модификации конкретных элементов.
  • Выполнять операции линейной алгебры, включая внешние произведения, обобщённые транспонирования и обращение матриц.

🔹 Урок 4: Управление данными: списки, данные-фреймы и ввод/вывод

Обзор: В этом уроке рассматриваются основы работы со сложными структурами данных и внешними данными в R. Особое внимание уделяется спискам — гибким контейнерам, содержащим компоненты разных типов — и практическим аспектам ввода/вывода (I/O), включая загрузку внешних файлов в структуры списков, доступ к встроенным наборам данных из пакетов и использование интерактивных редакторов для изменения данных.

Результаты обучения:

  • Создавать и модифицировать списки: создавать именованные и безымянные списки, объединять их с помощью специфического синтаксиса R.
  • Доступ к компонентам: различать и применять различные методы индексирования ([[ ]], [ ], и $) для извлечения данных из списков.
  • Ввод внешних данных: использовать функцию scan() для чтения данных из внешних файлов в структурированные списки или матрицы.

🔹 Урок 5: Вероятностные распределения и статистические тесты

Обзор: В этом уроке представлен всесторонний гид по работе с вероятностными распределениями и проведению статистических выводов в R. Студенты научатся использовать стандартизированную систему префиксов (d, p, q, r) для функций распределений, генерировать описательную статистику и визуально оценивать данные с помощью эмпирических функций распределения (ecdf) и диаграмм квантиль-квантиль (Q-Q).

Результаты обучения:

  • Освоить номенклатуру распределений R (префиксы d, p, q, r) и применять их к стандартным распределениям, таким как нормальное, t-распределение и F-распределение.
  • Создавать и интерпретировать визуальные диагностические инструменты, в частности эмпирические функции распределения (ecdf) и диаграммы квантиль-квантиль (Q-Q), для оценки соответствия распределению.
  • Выполнять и различать параметрические и непараметрические тесты, включая тест Велча, тест Шапиро-Уилка на нормальность и тест Колмогорова-Смирнова.

🔹 Урок 6: Управление программой и итеративная логика

Обзор: В этом уроке рассматриваются фундаментальные механизмы управления потоком выполнения в R. Основное внимание уделяется группировке нескольких выражений в единое целое и использованию операторов управления — включая условные ветвления (if-else) и различные циклические конструкции (for, repeat, while) — для автоматизации задач анализа данных и обработки сложной логики.

Результаты обучения:

  • Группировать несколько выражений R в одно выражение с помощью фигурных скобок.
  • Реализовывать условную логику для выполнения определённых блоков кода на основе логических критериев.
  • Создавать итеративные циклы для автоматизации повторяющихся операций над структурами данных, такими как векторы и списки.

🔹 Урок 7: Разработка пользовательских функций и управление областью видимости

Обзор: В этом уроке рассматривается переход от использования R как интерактивного калькулятора к использованию его как полноценного языка программирования путём разработки пользовательских функций. Рассматриваются синтаксис определения функций, обработка аргументов, правила лексической области видимости, а также основные концепции объектно-ориентированной системы R S3 через общие функции и методы.

Результаты обучения:

  • Создавать и вызывать пользовательские функции: определять функции с формальными параметрами и пользовательскими бинарными операторами.
  • Управлять аргументами и областью видимости: различать позиционное и именованное соответствие аргументов, объяснять, как лексическая область видимости управляет локальными и свободными переменными.
  • Реализовывать изменяемое состояние и пользовательские среды: использовать замыкания и оператор супер-присваивания для сохранения состояния и настройки среды R через функции запуска/сессии.

🔹 Урок 8: Статистическое моделирование: линейное и нелинейное

Обзор: В этом уроке рассматриваются всеобъемлющие инструменты в R для статистического моделирования, выходящие за рамки простой линейной регрессии. Обсуждается извлечение информации о моделях с помощью общих функций, сравнение моделей с помощью таблиц ANOVA, а также подгонка обобщённых линейных моделей (GLM) для бинарных и счётных данных, а также методы нелинейного моделирования.

Результаты обучения:

  • Использовать общие функции R для извлечения, суммирования и визуализации информации из подобранных моделей.
  • Проводить сравнение моделей с помощью таблиц ANOVA и обновлять существующие модели с использованием эффективного синтаксиса.
  • Подбирать обобщённые линейные модели (GLM) с подходящими семействами и функциями связи (например, логит, пробит, Пуассон).

🔹 Урок 9: Визуализация данных с высоким и низким уровнем графики

Обзор: В этом уроке рассматриваются всесторонние графические возможности R, отличающие высокий уровень графических функций, создающих полные диаграммы, от низкоуровневых команд, добавляющих конкретные элементы на существующие изображения. Студенты научатся управлять графическими параметрами для точного художественного контроля и управлять несколькими окнами графики.

Результаты обучения:

  • Различать и реализовывать высокий уровень (например, plot(), hist()) и низкий уровень (например, points(), lines()) графических функций.
  • Применять и управлять графическими параметрами с помощью постоянного (par()) и временного (на уровне функции) условия.
  • Координировать сложные макеты, включая многомерные представления данных и множественные графические окна.

🔹 Урок 10: Экосистема пакетов и настройка среды

Обзор: В этом уроке рассматриваются структурные основы R, с акцентом на экосистему пакетов, роль CRAN и механизм пространств имён для управления функциями. Также предоставляется практическое руководство по выполнению R через различные интерфейсы и мастерство настройки среды с помощью аргументов командной строки и клавиш быстрого доступа.

Результаты обучения:

  • Понимать взаимосвязь между пакетами, пространствами имён и системой репозитория CRAN.
  • Выполнить комплексную «образцовую сессию», включающую манипуляции с данными, статистическое моделирование и сложную математическую графику.
  • Настроить среду запуска R с помощью флагов командной строки и переменных среды.