Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Цей посібник є продовженням дискусії про пакет dplyr . Ви дізнаєтеся, як упорядковувати, фільтрувати та групувати рядки в R.

Попередній урок стосувався операцій із колонами. Цього разу у центрі уваги будуть операції з рядками в dplyr .

Ми розглянемо основи, зокрема сортування та фільтрування набору даних , агрегування й узагальнення записів . Щоб дати вам загальне уявлення про те, чого очікувати від цього уроку, подумайте про зведену таблицю в MS Excel.

Зміст

Починаємо

Відкрийте новий сценарій R у RStudio.

Подібно до уроку з операціями зі стовпцями, у цій демонстрації використовуватиметься пакет набору даних Lahman . Завантажте його, виконавши швидкий пошук у Google.

Щоб перенести пакет Lahman у R, запустіть бібліотеку (Lahman) . Щоб увімкнути пакет dplyr , запустіть бібліотеку (tidyverse) . Крім того, найкраща практика іменування в R полягає в використанні малих літер, тому призначайте Teams у teams .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Основні функції для операцій із рядками

1. Упорядкуйте рядки в R

Першою операцією рядка в dpylr є arrange () . Ця функція дозволяє змінювати порядок рядків. Він працює, спочатку впорядковуючи кадр даних df , а потім задані поля.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Наприклад, відсортуємо за teamID . Запустіть arrange (teams, teamID) .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Якщо ви хочете, щоб вони були розташовані в порядку спадання, вам потрібно скористатися функцією desc ( ) .

Наприклад, якщо ви хочете відсортувати за роком у порядку спадання, запустіть arrange (teams, desc(yearID)) .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Коли ви робите це, ви не призначаєте результати назад командам . Ви просто бачите результат у Консолі.

Також можна сортувати за кількома критеріями. Наприклад, якщо ви хочете відсортувати за teamID, а потім за yearID у порядку спадання, вам потрібно лише запустити цей код:

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Коли ви сортуєте рядки, ви не змінюєте дані. Дані просто переміщуються. Нічого не додається і не видаляється.

2. Фільтруйте рядки в R

Функція фільтра ( ) додає або видаляє дані залежно від вибраних критеріїв. Його основний код:

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Як приклад, давайте отримаємо всі дані, де yearID більше або дорівнює 2000. Дотримуйтеся формату функції фільтра та введіть необхідну інформацію. Потім запустіть його. Не забудьте призначити це новому об’єкту. У цьому випадку його віднесли до сучасної .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Щоб перевірити, чи дійсно рядки були відфільтровані, ви можете скористатися функцією dim ( ) . Він дає кількість рядків і стовпців у кадрі даних.

Якщо ви запустите dim (teams) , ви побачите, що фрейм даних має 2955 рядків і 48 стовпців.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Якщо ви запустите функцію dim на modern , ви побачите, що кількість рядків зменшено до 630, а кількість стовпців залишилася незмінною.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Рядки були скорочені, оскільки деякі записи виходять за межі 2000 року.

Фільтрувати рядки за кількома полями

У R також можна фільтрувати рядки за декількома полями. Вам потрібно буде використовувати оператори І та АБО .

Наприклад, давайте відфільтруємо команди за областями. У цьому випадку створюється новий об'єкт Ohio . Критерії фільтра полягають у тому, що teamID має включати лише Клівленд І Цинциннаті.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Вам потрібно використовувати подвійний знак рівності ( == ), щоб перевірити рівність. Якщо ви використовуєте лише один знак рівності, R розглядатиме його як оператор присвоєння. Використовуйте амперсанд ( & ) для позначення І.

Для перевірки використовуйте функцію dim . Ви побачите, що кількість рядків дорівнює 0.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Це означає, що немає жодної команди, яка базується в Клівленді та Цинциннаті.

Далі спробуємо Клівленд АБО Цинциннаті. Оператор АБО представлено оператором конвеєра ( | ). Отже, все, що вам потрібно зробити, це замінити амперсанд оператором каналу, а потім запустити його. Після цього знову запустіть функцію dim .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Ви побачите, що тут 251 рядок, а не нуль.

А що, якщо ви забудете використати подвійний знак рівності і замість цього використаєте один? Ось що відбувається:

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

RStudio покаже дуже корисне повідомлення про помилку в Консолі з нагадуванням про використання подвійного знака рівності.

3. Згрупуйте та підсумуйте рядки в R

Функція групування за ( ) дозволяє об’єднувати записи за вибраними стовпцями, а потім на основі цього об’єднання підсумовувати інший стовпець.

Функція групування за ( ) виконується за таким алгоритмом:

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Як приклад, давайте згрупуємо за teamID і призначимо його новому об’єкту. У цьому випадку новий об’єкт називається teams_ID . Потім роздрукуйте його.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

У консолі ви помітите, що перший рядок каже, що це тибл .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Tibble — це вдосконалення tidyverse порівняно з основним кадром даних . Це функція в пакеті, яка доповнює та покращує те, що доступно з коробки.

Другий рядок — групи . Отже, тепер дані згруповані за стовпцем teamID.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

І з цим тепер ви можете використовувати функцію summize ( ) для цих груп.

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Примітка: функція підсумовування може бути з s або z, і це буде залежати від використання британської чи американської англійської.

Наприклад, давайте підсумуємо teams_ID і отримаємо базову підсумкову статистику. Давайте знайдемо середнє, мінімальне та максимальне значення перемог для кожної команди. Не забудьте виділити весь код, перш ніж вибрати « Запустити» .

Упорядковуйте, фільтруйте та групуйте рядки в R за допомогою Dplyr

Потім ви побачите в Консолі, що відображається зведена статистика кожної команди. Це дуже схоже на зведену таблицю, у якій ви збираєте та узагальнюєте дані.




Висновок

Підсумовуючи, ми обговорювали дві операції в dplyr. Попередній посібник зосереджувався на операціях зі стовпцями. Тим часом цей поточний урок показав вам, як виконувати операції з рядками за допомогою пакета dplyr у RStudio. Зокрема, ви навчилися впорядковувати, фільтрувати та групувати рядки в R.

Наступне, що потрібно навчитися, це як поєднати ці дві операції. Використання всіх функцій, які ви навчилися досі, значно допоможе вам у створенні кодів у R. Однак більш корисною технікою буде конвеєр. Це допоможе всьому злитися. Тому обов’язково також перегляньте наступні посібники.


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.