Цифровая математика на языке r и excel что это
Структурно учебник представляет собой 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, то предлагаю вам познакомится с более современным, и при этом совершенно бесплатным инструментом анализа данных.
О курсе
Курс построен вокруг архитектуры 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
Похожие топики
29 комментариев
В большинстве случаев именно Excel и лучше. Прежде всего, потому что результат в Excel. Его можно отдать кому угодно на планете, и даже бухгалтер в Сомали знает как его открыть и расчепятать.
A VBA достаточно приятен тем, что можно легко сделать запись действий производимых руками. Но Excel мерзостен своими меню ribbon, и только когда накатываешь Classic menu — он таки няшечка.
Основной и чуть ли не единственный инструмент Excel, оправдывающий его название — Сводные таблицы, они есть классический гиперкуб OLAP. Прекрасно строятся на основе запроса к внешнему источнику данных (и не теряют своего содержимого после разрыва связи).
Далее — за долгие годы Excel прекрасно научился понимать что такое печатный бумажный документ, и что форматирование не менее важно чем вся математика вместе взятая.
А вот КОРМИТЬ данными лучше всего обычной SQL-ной вьюшкой, созданной специально под конкретную бизнес задачу. Далее VBA-кодом собрать/обновить сводную таблицу, вылизать данные (группировка, ручные фильтры, и это тоже можно на VBA), скопировать-вставить данные в новый документ.
Другой вопрос, что на Линуксе эта тварь не хочет нормально существовать, потому что мелкомягкая. Но такова селяви.
В идеальном варианте — натравить её из облака на свой источник данных, и оттуда же делать бизнес-агрегаты, и оттуда же раздавать желающим. Я думаю, это работает «из коробки», но мне такая задача не ставилась, а я уж давно отошёл от задач тяжёлого бизнес-анализа.
Читайте также: