Манипуляции с данными в R: что такое, переменные, использование пакета dplyr

Опубликовано: 2020-03-26

Оглавление

Введение

Помимо персонала и инфраструктуры, данные — это новый строительный блок любой компании. От крупных корпораций до небольших предприятий данные — это топливо, которое движет их бизнесом. Эти данные связаны с их ежедневными бизнес-транзакциями, данными о покупках клиентов, данными о продажах, финансовыми диаграммами, бизнес-статистикой, маркетинговыми кампаниями и многим другим. Вот почему Тим О'Рейли, основатель O'Reilly Media, сказал, что мы вступаем в ситуацию, когда данные будут важнее программного обеспечения.

Но что делать с таким количеством данных? Компании используют эти данные для получения ценных сведений об эффективности своего бизнеса. Они нанимают специалистов по данным, которые выполняют манипуляции с данными в R , чтобы разобраться в этих данных. Например, понимание данных о продажах и маркетинге за прошлый год даст им представление о том, где они находятся. Недавнее исследование показало, что к 2023 году рынок аналитики данных будет стоить 77,6 млрд долларов.

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

Что такое манипулирование данными?

Манипуляции с данными — это процесс организации данных для лучшего их чтения и понимания. Например, должностные лица компании могут получать данные о клиентах из своих систем и журналов. В основном эти данные будут храниться в программном обеспечении CRM (Customer Relationship Management) и таблицах Excel. Но это может быть неправильно организовано. Обработка данных включает в себя способы организации всех этих данных, например, в алфавитном порядке.

Данные можно сортировать по дате, времени, серийному номеру или любому другому полю. Люди в бухгалтерии компании используют данные для определения тенденций продаж, предпочтений пользователей, рыночной статистики и цен на продукты. Финансовые аналитики используют данные, чтобы понять, как работает фондовый рынок, тенденции и лучшие акции, в которые им следует инвестировать.

Кроме того, данные веб-сервера можно использовать для понимания объема трафика на веб-сайте. В эту технологическую эпоху IoT является примером технологии, в которой данные поступают от датчиков, подключенных к машинам. Эти данные используются для определения производительности машины и наличия дефектов. Манипулирование данными имеет решающее значение в IoT, поскольку к 2025 году рынок будет стоить 81,67 миллиарда долларов.

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

Что такое Р?

Чтобы понять манипулирование данными в R , вы должны знать основы R. Это современный язык программирования, который используется для анализа данных, статистических вычислений и искусственного интеллекта. Язык был создан в 1993 году Россом Ихакой и Робертом Джентльменом . В настоящее время исследователи, аналитики данных, ученые и статистики используют R для анализа, очистки и визуализации данных.

R имеет огромный каталог, состоящий из графических и статистических методов, которые могут поддерживать машинное обучение, линейную регрессию, статистический вывод и временные ряды. Под Стандартной общественной лицензией GNU язык свободно доступен для таких операционных систем, как Windows, Mac и Linux. Это дружественная платформа, что означает, что код R, написанный на одной платформе, может быть легко выполнен на другой.

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

Это настолько мощный язык, что некоторые из лучших компаний мира, такие как Google и Facebook, используют его.

Давайте проверим некоторые из наиболее важных функций R:

  • Он имеет CRAN (Комплексная сеть архивов R) , который представляет собой репозиторий, содержащий более 10 000 пакетов R, обладающий всеми необходимыми функциями для работы с данными.
  • Это язык программирования с открытым исходным кодом . Это означает, что вы можете загрузить его бесплатно и даже внести свой вклад в его разработку, обновить его функции и настроить существующие функции.
  • Вы можете создавать высококачественные визуализации из имеющихся данных из полезных графических библиотек R, таких как ggplot2 и plotly.
  • R — очень быстрый язык. Поскольку это интерпретируемый язык программирования , компилятор не требуется для преобразования программ R в исполняемый код, поэтому сценарий R выполняется быстрее.
  • R может мгновенно выполнять множество сложных вычислений, состоящих из массивов, фреймов данных и векторов . Существует множество операторов для выполнения этих вычислений.
  • Он обрабатывает структурированные и неструктурированные данные. Доступны расширения для больших данных и SQL для обработки всех типов данных.
  • R имеет постоянно растущее сообщество, в котором есть самые яркие умы. Эти люди постоянно вносят свой вклад в язык программирования, разрабатывая библиотеки и обновления r.
  • Вы можете легко интегрировать R с другими языками программирования, такими как Python, Java и C++. Вы также можете комбинировать его с Hadoop для распределенных вычислений.

Теперь, когда вы познакомились с основами языка программирования R, давайте погрузимся в самое интересное!

Переменные в R

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

Переменные не имеют типа данных, но получают тип объекта R, которому они назначены. Наиболее популярные объекты R:

  • Векторы
  • Списки
  • Массивы
  • Матрицы
  • Факторы
  • Фреймы данных

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

Векторы

Они являются самыми основными структурами данных и используются для одномерных данных. Типы атомарных векторов:

  • Целое число
  • Логический
  • Числовой
  • Сложный
  • Персонаж

Когда вы создаете значение в R, оно становится одноэлементным вектором длины 1. Например,

распечатать("Азбука"); # одноэлементный вектор символьного типа

print(10.5) # одноэлементный вектор типа double

Доступ к элементам в векторах осуществляется с использованием их порядковых номеров. Позиции индексов в векторах начинаются с 1. Например,

t <- c («Пн», «Вт», «Ср», «Сб»)

и <- т[с(1,2,3)]

печатать (у)

Результатом будет «Пн», «Вт», «Ср».

Списки

Это объекты в R, которые используются для хранения внутри себя различных типов элементов. Это могут быть целые числа, строки и даже списки. Если данные не могут храниться во фрейме данных или массиве, это лучший вариант. Списки также могут содержать матрицу. Вы можете создавать списки, используя метод list().

Используйте следующий код для создания списка:

list_data <- list("Черный", "Зеленый", c(11,4,14), TRUE, 31.22, 120.5)

печать (список_данных)

Доступ к элементам списка можно получить с помощью индексов списка.

print(list_data[1]) #код выводит первый элемент списка

Пример манипулирования данными со списками:

list_data[4] <- NULL # этот код удаляет последний элемент списка, если в нем 4 элемента

Читайте: R против Python для науки о данных

Массивы

Массивы — это объекты, которые можно использовать для хранения данных только одного типа. Данные более чем двух измерений могут храниться в массивах. Для этого вы должны использовать функцию array(), которая принимает векторы в качестве входных данных. Он использует значение параметра dim для создания массива.

Например, посмотрите на следующий код:

vector_result <- array(c(vectorA,vectorB),dim = c(3,3,2))

печать (vector_result)

Матрицы

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

Основной синтаксис для создания матрицы приведен ниже:

матрица (данные, nrow, ncol, byrow, dimnames)

  • Данные — это входной вектор, который становится элементом данных для матрицы.
  • Nrow — это количество строк, которые вы хотите создать.
  • Ncol — это количество столбцов, которые вы хотите создать.
  • Байроу – это логическая подсказка. Если его значение TRUE, элементы вектора будут упорядочены по строкам
  • Dimname — имена, присвоенные столбцам и строкам.

Факторы

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

Фреймы данных

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

Фрейм данных имеет следующие особенности:

  • Имена строк должны быть уникальными
  • Имена столбцов не должны быть пустыми.
  • Количество элементов данных в каждом столбце должно быть одинаковым.

Обработка данных в R

При манипулировании данными в R первым шагом является создание небольших выборок данных из огромного набора данных. Это делается, поскольку весь набор данных не может быть проанализирован за один раз. Обычно аналитики данных создают репрезентативное подмножество набора данных. Это помогает им выявлять тенденции и закономерности в большом наборе данных. Этот процесс выборки также называется подмножеством .

Различные способы создания подмножества в R следующие:

  • $ — это выбирает один элемент данных, и его результат всегда является вектором
  • [[ — Этот оператор подмножества также возвращает один элемент, но вы можете ссылаться на элементы по их положению

  • [ — Этот оператор используется для возврата нескольких элементов данных.

Вот некоторые из основных функций для обработки данных в R :

функция пример()

Как следует из названия, метод sample() используется для создания образцов данных из большого набора данных. Наряду с этой командой вы указываете количество выборок, которые вы хотите извлечь из набора данных или вектора. Основной синтаксис следующий:

образец (x, размер, заменить = FALSE, prob = NULL)

x — это может быть вектор или набор данных из нескольких элементов, из которых должна быть выбрана выборка.

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

replace — это может быть True или False, независимо от того, хотите ли вы выборку с заменой или без нее.

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

Таблица() функция

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

таблица (ирис $ виды)

Код, написанный выше, создает таблицу, отображающую типы видов в наборе данных радужной оболочки.

дублируется()

Метод Duplicated() используется для выявления и удаления повторяющихся значений из набора данных. Он принимает вектор или фрейм данных в качестве аргумента и возвращает True для повторяющихся элементов. Например,

дублируется (с (1,1,3))

Это проверит, какие из этих элементов являются дубликатами, и вернет True или False.

Читайте также : Дерево решений в R.

Работа с данными в R с помощью пакета dplyr

R предоставляет простой и удобный в использовании пакет dplyr для обработки данных. Пакет имеет несколько встроенных методов для манипулирования, исследования и преобразования данных. Давайте проверим некоторые из наиболее важных функций этого пакета:

Выбрать()

Метод select() является одной из основных функций для обработки данных в R. Этот метод используется для выбора столбцов в R. Используя его, вы можете выбирать данные по имени столбца. Столбцы можно выбирать на основе определенных условий. Предположим, мы хотим выбрать 3- й и 4 столбцы фрейма данных с именем myData, код будет таким:

выберите (мои данные, 3: 4)

фильтр()

Этот метод используется для фильтрации строк набора данных, соответствующих определенным критериям. Он может работать как select(), сначала вы передаете фрейм данных, а затем условие, разделенное запятой.

Например, если вы хотите отфильтровать столбцы с автомобилями красного цвета в наборе данных, вы должны написать:

фильтр(автомобили, цвет=="Красный")

В результате будут отображены совпадающие строки.

мутировать ()

Вы можете использовать метод mutate() для создания новых столбцов в наборе данных при сохранении старых. Эти столбцы можно создать, указав условие. Например,

мутировать (mtcars, mtcars_new_col = mpg / cyl)

В этой команде в наборе данных mtcars создается новый столбец mtcars_new_col , который содержит значения столбца mpg, разделенные на столбец cyl.

договариваться()

Это используется для сортировки строк в порядке возрастания или убывания с использованием одной или нескольких переменных. Вместо применения метода desc() вы можете добавить символ минус (-) перед переменной сортировки. Это укажет порядок сортировки по убыванию. Например,

упорядочить (my_dataset, -Sepal.Length)

группа по()

Метод group_by() используется для группировки наблюдений в наборе данных по одной или нескольким переменным.

суммировать()

Функция summarise() полезна для определения таких данных, как среднее значение, медиана и мода. Он используется вместе с сгруппированными данными, созданными другим методом group_by. summarise() помогает свести несколько значений к одному.

объединить()

Метод merge() объединяет или объединяет наборы данных. Это полезно для объединения нескольких источников входных данных вместе.

Метод предлагает вам 4 способа объединения наборов данных . Они упомянуты ниже:

  • Естественное соединение используется для сохранения строк, соответствующих заданному условию, во фреймах данных.
  • Полное внешнее соединение — объединяет и сохраняет все строки из обоих фреймов данных.
  • Левое внешнее соединение — здесь хранятся все строки фрейма данных A и строки B, которые соответствуют
  • Правое внешнее соединение — здесь хранятся все строки фрейма данных B и строки A, которые соответствуют

переименовать_если()

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

переименовать_все()

Это используется для переименования всех столбцов фрейма данных без указания каких-либо условий.

Получите курсы по науке о данных в лучших университетах мира. Присоединяйтесь к нашим программам Executive PG, Advanced Certificate Programs или Masters Programs, чтобы ускорить свою карьеру.

Оператор трубы

Оператор канала доступен в таких пакетах, как magrittr и dplyr, для упрощения кода в целом. Оператор позволяет объединить несколько функций вместе. Обозначается символом %>% и может использоваться с популярными методами, такими как summarise(), filter(), select() и group_by(), при манипулировании данными в R.

Помимо dplyr, в CRAN есть много других пакетов для манипулирования данными в R. На самом деле вы найдете более 7000 пакетов для сокращения вашего кодирования, а также ваших ошибок. Многие из этих пакетов созданы опытными разработчиками, так что вы в надежных руках. Это включает:

  • Таблица данных
  • смазывать
  • ggplot2
  • читатель
  • изменить форму2
  • тайдыр

Заключение

Если вы новичок в манипулировании данными в R , вы можете использовать встроенные базовые функции, доступные в R. К ним относятся такие методы, как with(), Within(), Duplicated(), cut(), table(), выборка() и сортировка(). Но они отнимают много времени и повторяются. Это не очень эффективный вариант.

Таким образом, лучший путь вперед — использовать огромное количество пакетов в CRAN, таких как dplyr. Они очень полезны и делают ваши программы более эффективными.

Какой пакет полезен для обработки данных в R?

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

Существует множество способов манипулирования данными в R, например, использование таких пакетов, как ggplot2, readr, dplyr и т. д., а также использование базовых функций R, таких как внутри(), с() и т. д. Однако пакет dplyr считается очень полезен для манипулирования данными в R. Этот пакет состоит из различных функций, специально созданных для манипулирования данными, и позволяет обрабатывать данные быстрее, чем другие методы и пакеты.

Какова цель пакета dplyr в R?

Известно, что пакет dplyr является лучшим для манипулирования данными в R с максимальной эффективностью. Раньше был этот пакет под названием plyr, и он был переработан в dplyr. Теперь dplyr полностью фокусируется на фреймах данных. Вот почему он намного быстрее, имеет лучший и согласованный API, а также довольно прост в использовании.

Пакет dplyr позволяет получить максимальную отдачу от доступных данных с повышенной производительностью по сравнению с другими пакетами обработки данных в R.

Как вы можете манипулировать данными?

Чтобы выполнить манипуляцию с данными, вам необходимо выполнить определенные шаги в общем порядке. Выполните следующие шаги:

1. Во-первых, вам понадобится база данных, созданная из источников данных.
2. Затем вам нужно очистить, переупорядочить и реструктурировать имеющиеся данные с помощью манипулирования данными.
3. Теперь вам нужно разработать базу данных, над которой вы будете работать.
4. Здесь вы сможете объединять, удалять и изменять доступную информацию.
5. Наконец, проанализируйте имеющиеся данные и извлеките из них полезную информацию.