Это введение в R («GNU S»), язык и среду для статистических вычислений и графики. R похож на отмеченную наградами систему 1 S, которая была разработана в Bell Laboratories Джоном Чемберсом и др. Он предоставляет широкий спектр статистических и графических методов (линейное и нелинейное моделирование, статистические тесты, анализ временных рядов, классификацию, кластеризацию и т. д.).
В этом руководстве содержится информация о типах данных,элементах программирования,статистическом моделировании и графике.
Данное руководство предназначено для R,версия 4.1.0 (2021-05-18).
Разрешение на изготовление и распространение стенографических копий данного руководства предоставляется при условии,что на всех копиях сохраняется уведомление об авторских правах и это уведомление о разрешении.
Разрешение на копирование и распространение модифицированных версий данного руководства предоставляется на условиях дословного копирования,при условии,что вся полученная в результате работа будет распространяться в соответствии с условиями уведомления о разрешении,идентичного данному.
R для каждого, Урок 1
Разрешается копировать и распространять переводы данного руководства на другой язык на условиях,описанных выше для измененных версий,за исключением того,что данное уведомление о разрешении может быть указано в переводе,одобренном R Core Team.
Preface
Это введение в R основано на оригинальном наборе заметок, описывающих среды S и S-PLUS, написанных в 1990–1992 годах Биллом Венейблсом и Дэвидом М. Смитом, когда они работали в Университете Аделаиды. Мы внесли ряд небольших изменений, чтобы отразить различия между программами R и S, и расширили часть материала.
Язык программирования R: ничего лишнего, только работа с данными
Правило 35: если в мире что-то существует, для этого уже придумали свой язык программирования. И работа с данными не исключение.
Евгения Сударикова
Технический писатель. Любит рассказывать просто про сложные вещи.
Язык R — главный конкурент Python для тех, кто занимается статистикой и анализом данных. Его используют в социальных и экономических науках для поиска причинно-следственных связей, сравнения выборок, создания наглядных отчётов и графиков.
Язык разработали учёные факультета статистики Оклендского университета. Сначала это был внутренний инструмент, но потом его сделали доступным для всех — уж очень удачным он получился.
Это важный момент: R разработан статистиками для статистиков — в нём уже есть популярные статистические тесты, методы анализа данных, удобные инструменты для построения графиков. Такие возможности есть далеко не во всех популярных языках общего назначения.
А специализированный язык R уверенно отвоёвывает себе место под солнцем: с 18-го места рейтинга TIOBE в 2016 году он поднялся на 8-ю строчку в январе 2021. Установить интерпретатор и рабочее окружение можно в любую современную операционную систему — MacOS, Linux, Windows.
R Studio как пользоваться
Что под капотом
R — интерпретируемый объектно-ориентированный язык программирования. Что это значит? Функции или таблицы для него — это объекты, которые относятся к определённому классу (типу данных), а готовая программа исполняется сразу — строчка за строчкой. Компилировать код в исполняемый файл перед запуском не надо.
Синтаксис языка R прост и включает минимальный набор примитивных типов данных: символьные, числовые, логические и комплексные. Примитивные типы объединяются в более сложные. Например, тип вектор — это, по сути, список из нескольких объектов (чисел, строк и других). Числовые переменные могут принимать и особые значения: NaN(not a number — не число), Inf(infinity — бесконечность) и NA(not available — недоступно).
Самая популярная команда в R — чтение файла, потому что надо постоянно открывать и исследовать датасеты. Вот как она выглядит:
- Веб-интерфейсJupyter Notebook.Это приложение-блокнот для создания и обмена программами на R и множестве других языков, позволяющих работать с данными. Он открывается в браузере, одновременно отображая код и графические элементы — рисунки, уравнения.
- ДистрибутивAnaconda— целая коллекция популярных библиотек и программ для удобной работы с данными на языке R. Кстати, тут есть и версия для Python, которая удобно устанавливается из одного файла и включает в себя RStudio, веб-интерфейс Jupyter Notebook и много других приложений.
Что можно сделать с помощью R
- Обработать, очистить и преобразовать данные для исследования. Например, вы хотите посмотреть, сколько в среднем пользователей скачали ваше мобильное приложение за каждый летний и осенний месяц. Rпозволяет исключить из графика зиму и осень и сгруппировать их по месяцам для дальнейших подсчётов.
- Провести статистические тесты.Допустим, вы хотите узнать, различается ли средняя продолжительность жизни мужчин и женщин. Для этого можно запустить t-тест— его результаты покажут, есть ли статистически значимые различия между данными.
- Выполнить разведочный анализ.Данные необходимо проверять на нормальность, потому что многие статистические методы (например, тот же
t-тест) требуют нормального распределения в исходниках. Нормальное распределение предполагает, что бóльшая часть данных группируется около среднего значения, а остальных значений гораздо меньше. Такое распределение часто встречается в жизни: людей среднего роста в мире больше всего, а высоких и низких — мало. В R есть инструменты проверки нормальности с помощью графиков и тестов.
Многие из этих функций подключаются с помощью библиотек. В стандартном пакете их около 20: например, stat для статистических тестов и graphicsдля простой визуализации. Дополнительные библиотеки можно скачать с сервера CRAN — в 2020 году их там было больше 16 тысяч. Среди них plotlyдля интерактивных графиков и tidyrдля очистки данных — она помогает заполнить пропущенные значения в столбцах и сделать так, чтобы каждый столбец соответствовал только одной переменной.
Сравнение R с другими инструментами для работы с данными
Основные конкуренты R — это инструменты анализа данных без кода — Excel, Google Sheets, SPSS, Tableau, Power BI и другие. А также языки программирования — Python и Julia.
R, Python и Julia
Python — универсальный язык, на нём можно создавать полноценные приложения, а R сильнее в работе со статистикой, поэтому его любят в академических кругах. Аналитики в компаниях любят оба языка, хотя Python пока популярнее и порог входа в него ниже.
Сторонники Julia прочат своему фавориту славу убийцы Python. Но пока это довольно молодой язык — у него не такое сильное сообщество, гораздо меньше готовых рецептов, библиотек и документации — особенно на русском.
Кстати, на Reddit есть интересный тред, а у нас — целая статья по выбору языка программирования для аналитики.
Язык R и готовые программные пакеты
Сила R и других языков программирования — в их гибкости. У программ типа Excel и Tableau есть ограничения: если вам не хватает функций, придётся ждать милости разработчиков, а специалист по R достаточно быстро может сделать кастомные отчёты и графики, сопоставить нужные данные. Ещё один плюс — язык программирования позволяет полноценно работать с Big Data и строить модели машинного обучения.
Преимущества R
- Неограниченный набор функций для анализа данных — благодаря подключению библиотек.
- Возможность работы с огромными таблицами и базами данных, которые не потянут программы.
- Продвинутые настройки интерфейса: графический пользовательский или интерфейс командной строки.
- Полностью бесплатная экосистема — компоненты распространяются бесплатно под лицензией GNU. Excel стоит 69,99 доллара в год, SPSS — 3200 долларов за бессрочную лицензию, Tableau для компаний — от 70 долларов за пользователя в месяц.
- Доступен для большинства операционных систем: Windows, macOS, FreeBSD, Solaris, разных версий Unix и Linux.
- Богатые возможности визуализации: можно создавать приложения, строить графики разных типов, в том числе интерактивные, а также редактировать их элементы. Например, график на основе известного датасета iris, показывающий плотность лепестков и чашелистиков в зависимости от вида ирисов.
- Много информации и активное сообщество: блог, обсуждение R и RStudio, уроки, конференции.
- Обширная и понятная документация: есть описания всех библиотек и примеры использования. Например, вот материалы по библиотеке dplyr, которая служит для обработки и группировки данных.
Есть ли у языка R минусы
Минусы R — относительные:
- Документация и большинство источников — только на английском языке. Хотя появляется всё больше русскоязычных источников — уже есть отдельный раздел на «Хабре», а ответы на частые вопросы можно найти на Stack Overflow.
- Человеку без опыта программирования и знания основ статистики будет сложно. Но достаточно освоить базовые понятия: среднее, мода, медиана, выборка, нормальное распределение. Например, по книге «Статистика и котики» В. Савельева.
- Узкая сфера применения: он идеален для анализа данных, но для разработки программ не подходит. Но в этом и его сила. Настоящий UNIX-way и находка для учёных, журналистов, дата-сайентистов, аналитиков — всех, кто хочет работать с данными.
Резюмируем
R — это не просто язык программирования, а целая инфраструктура и специализированная среда для работы с данными. В неё уже встроены многие статистические методы и варианты визуализации.
- Data Science, доступный каждому: работаем с данными в облаке Google Colab
- Первые во всём: как Hewlett-Packard создала гаражную стартап-культуру и Кремниевую долину
- Гайд по кибербезопасности для разработчиков и начинающих специалистов
Самый известный пункт философии UNIX звучит так: «Пишите программы, которые делают что-то одно и делают это хорошо».
Источник: skillbox.ru
Язык R для пользователей Excel (бесплатный видео курс)
В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой.
В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс «Язык R для пользователей Excel». Этим курсом я хотел снизить порог вхождения в R, и немного восполнить существующий дефицит обучающих материалов по данной теме на русском языке.
Если всю работу с данными в компании, в котороый вы работаете принято по-прежнему вести в Excel, то предлагаю вам познакомится с более современным, и при этом совершенно бесплатным инструментом анализа данных.
Если вы интересуетесь анализом данных возможно вам будут интересны мои telegram и youtube каналы. Большая часть контента которых посвящены языку R.
- Ссылки
- О курсе
- Для кого этот курс
- Программа курса
4.1. Урок 1: Установка языка R и среды разработки RStudio
4.2. Урок 2: Основные структуры данных в R
4.3. Урок 3: Чтение данных из TSV, CSV, Excel файлов и Google Таблиц
4.4. Урок 4: Фильтрация строк, выбор и переименование столбцов, пайпланы в R
4.5. Урок 5: Добавление вычисляемых столбцов в таблицу на языке R
4.6. Урок 6: Группировка и агрегация данных на языке R
4.7. Урок 7: Вертикальное и горизонтальное объединение таблиц на языке R
4.8. Урок 8: Оконные функции в R
4.9. Урок 9: Вращение таблиц или аналог сводных таблиц в R
4.10. Урок 10: Загрузка JSON файлов в R и преобразование списков в таблицы
4.11. Урок 11: Быстрое построение графиков с помощью функции qplot()
4.12. Урок 12: Построение графиков слой за слоем с помощью пакета ggplot2
4.13. Урок 13: Изменение элементов графика и применение тем в ggplot2 - Заключение
Ссылки
- Подписаться на YouTube канал
- Плей лист курса на YouTube
- Репозиторйи с материалами
- Страница курса
О курсе
Курс построен вокруг архитектуры tidyverse , и входящих в неё пакетов: readr , vroom , dplyr , tidyr , ggplot2 . Конечно в R есть и другие хорошие пакеты выполняющие подобные операции, например data.table , но синтаксис tidyverse интуитивно понятен, его легко читать даже неподготовленному пользователю, поэтому я думаю, что начинать обучение языку R лучше именно с tidyverse .
Курс проведёт вас через все операции анализа данных, от загрузки до визуализации готового результата.
Почему именно язык R, а не Python? Потому, что R функциональный язык, пользователям Excel на него перейти легче, т.к. не надо вникать в традиционное объектно-ориентированное программирование.
На данный момент запланировано 13 видео уроков длительностью от 5 до 20 минут каждый.
Уроки будут открываться постепенно. Каждый понедельник я буду открывать доступ к новому уроку у себя на YouTube канале в отдельном плей листе.
Для кого этот курс
Думаю это понятно из названия, тем не менее опишу более подробно.
Курс ориентирован на тех, кто в работе активно использует Microsoft Excel и там же реализует всю работу с данными. В общем, если вы открываете приложение Microsoft Excel хотя бы раз в неделю то курс вам подойдёт.
Навыков программирования для прохождения курса от вас не требуется, т.к. курс ориентирован на начинающих.
Но, возможно начиная с 4 урока найдётся материал интересный и для активных пользователей R, т.к. основной функционал таких пакетов как dplyr и tidyr будет рассмотрен достаточно подробно.
Программа курса
Урок 1: Установка языка R и среды разработки RStudio
Ссылки:
Видео:
Описание:
Вступительный урок в ходе которого мы скачаем и установим необходимое программное обеспечение, и немного разберём возможности и интерфейс среды разработки RStudio.
Тест
Ссылка на тест для проверки знаний.
Урок 2: Основные структуры данных в R
Ссылки:
Видео:
Описание:
Этот урок поможет вам разобраться с тем, какие структуры данных есть в языке R. Мы подробно разберём векторы, дата фреймы и списки. Научимся их создавать и обращаться к их отдельным элементам.
Тест
Ссылка на тест для проверки знаний.
Урок 3: Чтение данных из TSV, CSV, Excel файлов и Google Таблиц
Ссылки:
Видео:
Описание:
Работа с данными, не зависимо от инструмента, начинается с их добычи. В ходе урока используются пакеты vroom , readxl , googlesheets4 для загрузки данных в среду R из csv, tsv, Excel файлов и Google Таблиц.
Тест
Ссылка на тест для проверки знаний.
Урок 4: Фильтрация строк, выбор и переименование столбцов, пайпланы в R
Ссылки:
Видео:
Описание:
Этот урок посвящён пакету dplyr . В нём мы разберёмся как фильтровать датафреймы, выбирать нужные столбцы и переименовывать их.
Также узнаем что такое пайпланы и как они помогают делать ваш код на языке R более читабельным.
Тест
Ссылка на тест для проверки знаний.
Урок 5: Добавление вычисляемых столбцов в таблицу на языке R
Ссылки:
Видео:
Описание:
В этом видео мы продолжаем знакомство с библиотекой tidyverse и пакетом dplyr .
Разберём семейство функций mutate() , и научимся с их помощью добавлять в таблицу новые вычисляемые столбцы.
Тест
Ссылка на тест для проверки знаний.
Урок 6: Группировка и агрегация данных на языке R
Ссылки:
Видео:
Описание:
Данный урок посвящён одной из основных операций анализа данных, группировке и агрегации. В ходе урока мы будем использовать пакет dplyr и функции group_by() и summarise() .