Цифровая математика на языке r и excel что это

Обновлено: 06.07.2024

Структурно учебник представляет собой 17 компьютерных практикумов по изучению и применению вычислительных возможностей языка R в решении базовых задач математического анализа и линейной алгебры и календарно соответствует программе дисциплины «Компьютерный практикум», читаемой в Финансовом университете при Правительстве РФ на первом курсе общеэкономических специальностей. Содержательно в учебнике последовательно излагаются основы языка программирования R с постепенным углублением по мере продвижения по осваиваемым навыкам в применении к высшей математике первого курса. В конце учебника приведен глоссарий по операторам и библиотекам R для удобства последующего использования его в качестве справочного руководства по R. Для комфортного программирования на R практикумы ориентированы на популярную оболочку RStudio. Учебник будет полезен всем студентам первых курсов, изучающих математический анализ и линейную алгебру, которые стремятся знать самые современные вычислительные технологии, а также тем, кто хочет научиться программировать на языке R и продолжать изучать его применение в статистическом анализе и анализе данных. Учебник может быть интересен аспирантам, научным сотрудникам и преподавателям.

Требования.
Для работы с текущими и последующими учебно-методическими материалами по R необходимо иметь установленные на компьютере два пакета: интерпретатор языка программирования R и оболочку RStudio. Процедура официального бесплатного скачивания и установки этих пакетов была описана в инструкции выше. Настоятельно советуем установить эти два пакета на своем личном компьютере (ноутбуке, планшете,…), т.к. вместе с десятками тысяч других специалистов по всему миру считаем это вычислительное средство одним из первых в линейке лидеров на данный момент времени.

ОГЛАВЛЕНИЕ.
ВМЕСТО ПРЕДИСЛОВИЯ.
КОМПЕТЕНЦИИ ДИСЦИПЛИНЫ.
ИНСТРУКЦИЯ ПО УСТАНОВКЕ ПАКЕТОВ R И RSTUDIO.
ПРАКТИКУМ 1.ВВЕДЕНИЕ В R (RSTUDIO).
ПРАКТИКУМ 2.ПРОГРАММИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ В R (RSTUDIO).
ПРАКТИКУМ 3.ИССЛЕДОВАНИЕ НУЛЕЙ И ЭКСТРЕМУМОВ ФУНКЦИЙ (RSTUDIO).
ПРАКТИКУМ 4.ЧИСЛЕННОЕ НАХОЖДЕНИЕ ОПРЕДЕЛЕННОГО И НЕСОБСТВЕННОГО ИНТЕГРАЛА В R (RSTUDIO).
ПРАКТИКУМ 5.ПОСТРОЕНИЕ ПОВЕРХНОСТЕЙ И ЛИНИЙ УРОВНЯ В R (RSTUDIO).
ПРАКТИКУМ 6.СИМВОЛЬНОЕ ДИФФЕРЕНЦИРОВАНИЕ В R (RSTUDIO).
ПРАКТИКУМ 7.ТИПЫ ДАННЫХ В R (RSTUDIO).
ПРАКТИКУМ 8.ЦИКЛИЧЕСКИЕ ПРОЦЕДУРЫ В R (RSTUDIO).
ПРАКТИКУМ 9.ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В R (RSTUDIO).
ПРАКТИКУМ 10.ЗАДАНИЕ ВЕКТОРОВ И МАТРИЦ В R (RSTUDIO).
ПРАКТИКУМ 11.СОХРАНЕНИЕ РЕЗУЛЬТАТОВ В R И ИМПОРТ/ЭКСПОРТ ДАННЫХ ИЗ EXCEL (RSTUDIO).
ПРАКТИКУМ 12.ВЕКТОРНАЯ АЛГЕБР А (RSTUDIO).
ПРАКТИКУМ 13.АЛГЕБРА МА ТРИЦ (RSTUDIO).
ПРАКТИКУМ 14.МАТРИЧНЫЕ УРАВНЕНИЯ (RSTUDIO).
ПРАКТИКУМ 15.РАСШИРЕНИЕ DOUBLE-АРИФМЕТИКИ.
ПРАКТИКУМ 16.СПЕКТРАЛЬНОЕ И СИНГУЛЯРНОЕ РАЗЛОЖЕНИЕ МАТРИЦ (RSTUDIO).
ПРАКТИКУМ 17.ЗАДАЧИ ЛИНЕЙНОЙ ОПТИМИЗАЦИИ (RSTUDIO).
ЗАКЛЮЧЕНИЕ.
ГЛОССАРИЙ.


Статья подготовлена читателем Библиотеки программиста. Не стесняйтесь присылать материалы для публикации по кнопке + в верхней панели – тексты проходят редактуру, мы поможем сделать статью понятной для широкой аудитории.

В связи с карантином многие разработчики львиную долю времени проводят дома. Я решил потратить освободившееся время на проекты, начатые несколько месяцев назад, в том числе видеокурс «Язык R для пользователей Excel». Этим курсом я хотел снизить порог вхождения в R и немного восполнить существующий дефицит обучающих материалов по данной теме на русском языке.

Обучение построено вокруг архитектуры tidyverse и входящих в неё пакетов: readr , vroom , dplyr , tidyr и ggplot2 . Конечно, в R есть и другие хорошие пакеты, выполняющие те же функции, но синтаксис tidyverse интуитивно понятен – его легко читать даже неподготовленному пользователю. Курс проведёт вас от загрузки данных в среду R до визуализации готового результата.

Почему именно R, а не Python? R – функциональный язык, поэтому пользователям Excel обычно на него перейти легче. На данный момент запланировано 12 видеоуроков длительностью от 5 до 20 минут каждый. Уроки будут открываться постепенно. Каждый понедельник я буду открывать доступ к новому уроку у себя на YouTube-канале в отдельном плейлисте.

Курс ориентирован на тех, кто активно использует Microsoft Excel и там же реализует всю работу с данными. Навыков программирования для прохождения курса не требуется, курс ориентирован на начинающих. Начиная с четвёртого урока может материал может быть интересен и для активных пользователей R – подробно рассматриваются пакетов dplyr и tidyr .

Ниже я приведу программу курса с подробным описанием каждого урока.

Урок 1: Установка языка R и среды разработки RStudio: На вступительном уроке мы скачаем и установим необходимое программное обеспечение, обсудим возможности и интерфейс среды разработки RStudio.

Урок 2. Основные структуры данных в R. В этом уроке подробно разберём векторы, датафреймы и списки. Научимся их создавать и обращаться к их элементам.

Урок 3. Чтение данных из TSV, CSV, Excel файлов и Google Таблиц. В ходе урока я буду использовать пакеты vroom , readxl , googlesheets4 для загрузки данных в среду R из csv, tsv, Excel файлов и Google-таблиц.

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

Урок 5. Добавление вычисляемых столбцов в таблицу на языке R (20 апреля 2020). Этот и следующий уроки будут постепенно открываться каждый понедельник. В этом видео мы продолжим знакомство с библиотекой tidyverse и пакетом dplyr . Разберём семейство функций mutate() и научимся добавлять в таблицу новые вычисляемые столбцы.

Урок 6. Группировка и агрегация данных на языке R (27 апреля 2020). Урок посвящён одной из основных операций анализа данных – группировке и агрегации. В ходе урока будем использовать пакет dplyr и функции group_by() и summarise() . Рассмотрим семейство функций summarise() : summarise() , summarise_if() и summarise_at() .

Урок 7. Вертикальное и горизонтальное объединение таблиц на языке R (4 мая 2020). Урок поможет разобраться с операциями вертикального и горизонтального объединения таблиц. Вертикальное объединение является аналогом операции UNION в языке запросов SQL. Горизонтальное объединение пользователям Excel более известно благодаря функции ВПР, в SQL такие операции осуществляются оператором JOIN . Во время урока мы решим практическую задачу, применив пакеты dplyr , readxl , tidyr и stringr . Основные функции объединения таблиц, которые мы рассмотрим:

  • bind_rows() – вертикальное объединение,
  • left_join() – горизонтальное объединение,
  • semi_join() – включающее объединение,
  • anti_join() – исключающее объединение.

Урок 8. Оконные функции в R (11 мая 2020). Оконные функции по смыслу похожи на агрегирующие, они также принимают на вход массив значений и проводят над ними арифметические операции, но в исходящем результате не изменяют количество строк. В этом уроке мы продолжим изучать пакет dplyr и функции group_by(), mutate() , а также новые cumsum() , lag() , lead() и arrange() .

Урок 9. Вращение таблиц или аналог сводных таблиц в R (18 мая 2020). Большинство пользователей Excel используют сводные таблицы. Это удобный инструмент, с помощью которого вы можете в считаные секунды превратить массив сырых данных в читабельные отчёты. Мы разберёмся с тем, как вращать таблицы в R, и преобразовывать их из «широкого» формата в «длинный» и наоборот. Большая часть урока посвящена пакету tidyr и функциям pivot_longer() и pivot_wider() .

Урок 10: Загрузка JSON-файлов в R и преобразование списков в таблицы (25 мая 2020). JSON и XML за счёт своей компактности являются чрезвычайно популярными форматами хранения и обмена информацией. Но анализировать данные, представленные в таких форматах, сложно. Поэтому перед анализом их необходимо привести к табличному виду. Именно этому мы и научимся в данном видео. Урок посвящён пакету tidyr , входящему в ядро библиотеки tidyverse , и функциям unnest_longer() , unnest_wider() и hoist() .

Урок 11: Быстрое построение графиков с помощью функции qplot() (1 июня 2020). Пакет ggplot2 является одним из наиболее популярных средств визуализации данных не только в R. В этом уроке мы научимся построению простейших графиков с помощью функции qplot() и разберём все её аргументы.

Урок 12: Построение графиков слой за слоем с помощью пакета ggplot2 (8 июня 2020). В уроке продемонстрирована вся мощь пакета ggplot2 и заложенной в него грамматики построения графиков. Мы разберём основные геометрии которые присутствуют в пакете и научимся накладывать слои для построения графика.

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

Пока программа курса рассчитана на 12 недель. Каждую неделю, по понедельникам я буду открывать доступ к новым урокам. Соответствующие ресурсы вы найдёте по следующим ссылкам:

В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой.

В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс “Язык R для пользователей Excel.” Этим курсом я хотел снизить порог вхождения в R, и немного восполнить существующий дефицит обучающих материалов по данной теме на русском языке.

Если всю работу с данными в компании, в котороый вы работаете принято по-прежнему вести в Excel, то предлагаю вам познакомится с более современным, и при этом совершенно бесплатным инструментом анализа данных.

О курсе

Cover image

Курс построен вокруг архитектуры tidyverse , и входящих в неё пакетов: readr , vroom , dplyr , tidyr , ggplot2 . Конечно в R есть и другие хорошие пакеты выполняющие подобные операции, например data.table , но синтаксис tidyverse интуитивно понятен, его легко читать даже неподготовленному пользователю, поэтому я думаю, что начинать обучение языку R лучше именно с tidyverse .

Курс проведёт вас через все операции анализа данных, от загрузки до визуализации готового результата.

Почему именно язык R, а не Python? Потому, что R функциональный язык, пользователям Excel на него перейти легче, т.к. не надо вникать в традиционное объектно-ориентированное программирование.

К каждому из уроков предусмотрен тест. Тест состоит как из теоритических вопросов так и из задач на программирование. Решать тесты или нет лично ваш выбор, но они однозначно помогут вам закрепить полученный в видео лекциях материал. Если вы застряли на какой-то из практических задач можно подсмотреть её решение в разделе с решениями.

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

Думаю это понятно из названия, тем не менее опишу более подробно.

Курс ориентирован на тех, кто в работе активно использует Microsoft Excel и там же реализует всю работу с данными. В общем, если вы открываете приложение Microsoft Excel хотя бы раз в неделю то курс вам подойдёт.

Навыков программирования для прохождения курса от вас не требуется, т.к. курс ориентирован на начинающих.

Но, возможно начиная с 4 урока найдётся материал интересный и для активных пользователей R, т.к. основной функционал таких пакетов как dplyr и tidyr будет рассмотрен достаточно подробно.

Материалы к курсу

В каждом уроке есть ссылка на папку с материалами, и на каждый отдельный файл, так же в каждом из уроков вы найдёте пример рассмотренного в лекции кода.

Но, при желании вы можете скачать все материалы курса одним архивом.

Об авторе

Алексей Селезнёв

Меня зовут Алексей Селезнёв, с 2008 года я являюсь практикующим аналитиком. На данный момент основной моей деятельностью является развитие отдела аналитики в агентстве интернет-маркетинга Netpeak.

Мною были разработаны такие R пакеты как: ryandexdirect , rfacebookstat , timeperiodsR , rvkstat и некоторые другие.

Веду свой авторский Telegram и YouTube канал R4marketing. Буду рад видеть вас в рядах подписчиков.

Периодически публикую статью на различных интернет медиа, зачастую это Хабр и Netpeak Journal.

Неоднократно выступал на профильных конференциях по аналитике и интернет маркетингу, среди которых Матемаркетинг, GoAnalytics, Analyze, eCommerce, 8P и прочие.

Начиная с 2016 года всячески стараюсь популяризировать язык R среди русскоязычных аналитиков и маркетологов. Этот курс также был создан с этой целью.

Программа курса

Благодарности

Курс, и все сопутствующие материалы предоставляются бесплатно, но если у вас есть желание отблагодарить автора за этот видео курс вы можете перечислить любую произвольную сумму на этой странице.

Кто подскажет, в чем профит работы аналитику с R по сравнению с Excel? У нас в компании все аналитики и статистики работают в экселе, но смотрю, что повсеместно во многих компаниях аналитики используют R. Какие задачи он решает из тех, которые Excel не может?

В избранное В избранном 0

Похожие топики


Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.

29 комментариев


Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.

В большинстве случаев именно Excel и лучше. Прежде всего, потому что результат в Excel. Его можно отдать кому угодно на планете, и даже бухгалтер в Сомали знает как его открыть и расчепятать.

A VBA достаточно приятен тем, что можно легко сделать запись действий производимых руками. Но Excel мерзостен своими меню ribbon, и только когда накатываешь Classic menu — он таки няшечка.

Основной и чуть ли не единственный инструмент Excel, оправдывающий его название — Сводные таблицы, они есть классический гиперкуб OLAP. Прекрасно строятся на основе запроса к внешнему источнику данных (и не теряют своего содержимого после разрыва связи).

Далее — за долгие годы Excel прекрасно научился понимать что такое печатный бумажный документ, и что форматирование не менее важно чем вся математика вместе взятая.

А вот КОРМИТЬ данными лучше всего обычной SQL-ной вьюшкой, созданной специально под конкретную бизнес задачу. Далее VBA-кодом собрать/обновить сводную таблицу, вылизать данные (группировка, ручные фильтры, и это тоже можно на VBA), скопировать-вставить данные в новый документ.

Другой вопрос, что на Линуксе эта тварь не хочет нормально существовать, потому что мелкомягкая. Но такова селяви.

В идеальном варианте — натравить её из облака на свой источник данных, и оттуда же делать бизнес-агрегаты, и оттуда же раздавать желающим. Я думаю, это работает «из коробки», но мне такая задача не ставилась, а я уж давно отошёл от задач тяжёлого бизнес-анализа.

Читайте также: