Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
Цей посібник є продовженням дискусії про пакет dplyr . Ви дізнаєтеся, як упорядковувати, фільтрувати та групувати рядки в R.
Попередній урок стосувався операцій із колонами. Цього разу у центрі уваги будуть операції з рядками в dplyr .
Ми розглянемо основи, зокрема сортування та фільтрування набору даних , агрегування й узагальнення записів . Щоб дати вам загальне уявлення про те, чого очікувати від цього уроку, подумайте про зведену таблицю в MS Excel.
Зміст
Починаємо
Відкрийте новий сценарій R у RStudio.
Подібно до уроку з операціями зі стовпцями, у цій демонстрації використовуватиметься пакет набору даних Lahman . Завантажте його, виконавши швидкий пошук у Google.
Щоб перенести пакет Lahman у R, запустіть бібліотеку (Lahman) . Щоб увімкнути пакет dplyr , запустіть бібліотеку (tidyverse) . Крім того, найкраща практика іменування в R полягає в використанні малих літер, тому призначайте Teams у teams .
Основні функції для операцій із рядками
1. Упорядкуйте рядки в R
Першою операцією рядка в dpylr є arrange () . Ця функція дозволяє змінювати порядок рядків. Він працює, спочатку впорядковуючи кадр даних df , а потім задані поля.
Наприклад, відсортуємо за teamID . Запустіть arrange (teams, teamID) .
Якщо ви хочете, щоб вони були розташовані в порядку спадання, вам потрібно скористатися функцією desc ( ) .
Наприклад, якщо ви хочете відсортувати за роком у порядку спадання, запустіть arrange (teams, desc(yearID)) .
Коли ви робите це, ви не призначаєте результати назад командам . Ви просто бачите результат у Консолі.
Також можна сортувати за кількома критеріями. Наприклад, якщо ви хочете відсортувати за teamID, а потім за yearID у порядку спадання, вам потрібно лише запустити цей код:
Коли ви сортуєте рядки, ви не змінюєте дані. Дані просто переміщуються. Нічого не додається і не видаляється.
2. Фільтруйте рядки в R
Функція фільтра ( ) додає або видаляє дані залежно від вибраних критеріїв. Його основний код:
Як приклад, давайте отримаємо всі дані, де yearID більше або дорівнює 2000. Дотримуйтеся формату функції фільтра та введіть необхідну інформацію. Потім запустіть його. Не забудьте призначити це новому об’єкту. У цьому випадку його віднесли до сучасної .
Щоб перевірити, чи дійсно рядки були відфільтровані, ви можете скористатися функцією dim ( ) . Він дає кількість рядків і стовпців у кадрі даних.
Якщо ви запустите dim (teams) , ви побачите, що фрейм даних має 2955 рядків і 48 стовпців.
Якщо ви запустите функцію dim на modern , ви побачите, що кількість рядків зменшено до 630, а кількість стовпців залишилася незмінною.
Рядки були скорочені, оскільки деякі записи виходять за межі 2000 року.
У R також можна фільтрувати рядки за декількома полями. Вам потрібно буде використовувати оператори І та АБО .
Наприклад, давайте відфільтруємо команди за областями. У цьому випадку створюється новий об'єкт Ohio . Критерії фільтра полягають у тому, що teamID має включати лише Клівленд І Цинциннаті.
Вам потрібно використовувати подвійний знак рівності ( == ), щоб перевірити рівність. Якщо ви використовуєте лише один знак рівності, R розглядатиме його як оператор присвоєння. Використовуйте амперсанд ( & ) для позначення І.
Для перевірки використовуйте функцію dim . Ви побачите, що кількість рядків дорівнює 0.
Це означає, що немає жодної команди, яка базується в Клівленді та Цинциннаті.
Далі спробуємо Клівленд АБО Цинциннаті. Оператор АБО представлено оператором конвеєра ( | ). Отже, все, що вам потрібно зробити, це замінити амперсанд оператором каналу, а потім запустити його. Після цього знову запустіть функцію dim .
Ви побачите, що тут 251 рядок, а не нуль.
А що, якщо ви забудете використати подвійний знак рівності і замість цього використаєте один? Ось що відбувається:
RStudio покаже дуже корисне повідомлення про помилку в Консолі з нагадуванням про використання подвійного знака рівності.
3. Згрупуйте та підсумуйте рядки в R
Функція групування за ( ) дозволяє об’єднувати записи за вибраними стовпцями, а потім на основі цього об’єднання підсумовувати інший стовпець.
Функція групування за ( ) виконується за таким алгоритмом:
Як приклад, давайте згрупуємо за teamID і призначимо його новому об’єкту. У цьому випадку новий об’єкт називається teams_ID . Потім роздрукуйте його.
У консолі ви помітите, що перший рядок каже, що це тибл .
Tibble — це вдосконалення tidyverse порівняно з основним кадром даних . Це функція в пакеті, яка доповнює та покращує те, що доступно з коробки.
Другий рядок — групи . Отже, тепер дані згруповані за стовпцем teamID.
І з цим тепер ви можете використовувати функцію summize ( ) для цих груп.
Примітка: функція підсумовування може бути з s або z, і це буде залежати від використання британської чи американської англійської.
Наприклад, давайте підсумуємо teams_ID і отримаємо базову підсумкову статистику. Давайте знайдемо середнє, мінімальне та максимальне значення перемог для кожної команди. Не забудьте виділити весь код, перш ніж вибрати « Запустити» .
Потім ви побачите в Консолі, що відображається зведена статистика кожної команди. Це дуже схоже на зведену таблицю, у якій ви збираєте та узагальнюєте дані.
Висновок
Підсумовуючи, ми обговорювали дві операції в dplyr. Попередній посібник зосереджувався на операціях зі стовпцями. Тим часом цей поточний урок показав вам, як виконувати операції з рядками за допомогою пакета dplyr у RStudio. Зокрема, ви навчилися впорядковувати, фільтрувати та групувати рядки в R.
Наступне, що потрібно навчитися, це як поєднати ці дві операції. Використання всіх функцій, які ви навчилися досі, значно допоможе вам у створенні кодів у R. Однак більш корисною технікою буде конвеєр. Це допоможе всьому злитися. Тому обов’язково також перегляньте наступні посібники.
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.