Упорядковуйте, фільтруйте та групуйте рядки в 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. Однак більш корисною технікою буде конвеєр. Це допоможе всьому злитися. Тому обов’язково також перегляньте наступні посібники.


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

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

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

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

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.