Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
Я збираюся показати вам, як витягувати записи з об’єднаних даних із роздільниками в кількох стовпцях . Це перетворює ваші дані у формат, більш придатний для аналізу.
Для цього існує кілька способів. Але для цього підручника я збираюся зосередитися на рішенні, запропонованому Ankit, який є частиною нашої спільноти LuckyTemplates. Ви можете переглянути повне відео цього підручника внизу цього блогу.
Зміст
Використання Text.Split
Для цього рішення я збираюся використовуватидля вилучення записів із розділених даних.
Нижче наведено таблицю можливостей у Power Query .
Як бачите, є кілька значень, об’єднаних в один запис. У другому рядку, наприклад, представлено 4 різні значення. Ці 4 значення об’єднані разом у стовпцях Конкуренти та Суми конкурентів .
Перше, що я збираюся зробити, це використати Text.Split .
Text.Split повертає список після поділу текстового значення на основі певного розділювача.
Щоб почати використовувати Text.Split , я скопіюю роздільник, який використовується в цій таблиці.
Ви помітите, що коли я натискаю цей запис у таблиці, значення запису відображається внизу. Я просто скопіюю розділювач звідти.
Коли я це зроблю, я додам користувацький стовпець.
Мені поки що не потрібно змінювати ім’я. Мені просто потрібно виконати Text.Split у розділі "Формула спеціального стовпця" .
Ця формула потребує текстового значення. Тож я просто виберу стовпець «Конкуренти» на правій панелі, і він автоматично додасться до формули.
Мені також потрібен роздільник у вигляді тексту. Отже, я збираюся вставити роздільник, який я скопіював раніше, у пару лапок. Потім я додам закриваючу дужку.
Щойно я натисну OK, я отримаю об’єкт списку.
Дивлячись на перший список, у стовпцях «Конкуренти» та «Суми» показано лише один запис. Отже, якщо я клацну порожнє місце біля об’єкта списку під стовпцем «Спеціальний», унизу також відобразиться одне значення.
Для другого запису у мене є список, який містить чотири значення. Це відповідає 4 значенням, також показаним у стовпцях Конкуренти та Суми .
Використання List.Zip
Тепер, коли я розділив список, наступним кроком є додавання відповідного значення зі стовпця Суми конкурентів. Я йду до List.Zip , щоб зробити це.
Подумайте про List.Zip як про справжню блискавку. Він бере список списків і об’єднує елементи.
Дивлячись на приклад нижче, уявіть перший список (1 і 2) як зелену доріжку на блискавці.
Тоді подумайте про 3 і 4 як про червону доріжку.
Коли застосовується List.Zip , вони з’єднуються посередині. Так 1 з 1-ї групи об'єднується з 3-ма з 2-ї групи. Те ж саме відбувається для 2 і 4. Це можна побачити на виході, де є дві нові групи, які були сформовані.
Бувають випадки, коли задіяні списки мають різну довжину . Це означає, що якщо списки об’єднати, будуть повернуті відсутні дані . Щоб створити точні пари, незважаючи на відсутність даних, додається нульове значення .
Повертаючись до таблиці «Можливості» , я збираюся додати ще один спеціальний стовпець.
Цього разу я додам до формули стовпець «Суми конкурентів» .
Я також збираюся додати List.Zip .
Перевірка нижче показує, що помилок не виявлено.
Але коли я натискаю «ОК» і дивлюся на новий сформований стовпець, я все одно отримую помилку.
Я збираюся клацнути білий простір біля помилки, щоб переглянути деталі. Це показує, що я отримую помилку, оскільки я повернув деякі аргументи навколо списків.
Дивлячись на формулу, видно, що цей синтаксис, у якому було посилання на стовпець «Конкуренти», повернув список.
Але синтаксис для стовпців «Суми конкурентів» також повернув список.
Згадуючи те, що робить List.Zip, він бере один список списків і об’єднує їх .
Побачивши, що з’являються два списки, мені потрібен ініціалізатор списків, щоб об’єднати ці списки . Ось чому я додаю ці фігурні дужки.
Після того, як я додам закриту фігурну дужку в кінці, мені просто потрібно натиснути enter. Це дасть мені об’єкт списку.
Тепер, коли я клацаю збоку від 1-го запису, він показує один об’єкт списку. Це правильно, оскільки в розділі «Суми конкурентів» дійсно є одне значення.
Якщо я зроблю те саме з другим записом, він покаже об’єкт списку, що містить 4 списки. Це також відповідає кількості значень у розділених даних у розділі Суми конкурентів.
Я використовую стрілки вбік праворуч від заголовка стовпця Custom, щоб розгорнути дані в нові рядки.
Зверніть увагу на другий запис, коли я розгортаю нові рядки.
Ви побачите, що всі значення цього запису розгорнуті вниз.
І коли я клацаю збоку в білому просторі, я бачу вміст цього вкладеного списку. Оскільки 1-й запис має лише одне значення для кожного стовпця, я також показую ті самі дані внизу.
Але коли я клацну другий запис, ви побачите, що я показую лише перше з 4 значень, наведених у моїх даних із роздільниками.
На третьому записі показую комбінацію других значень.
Тож я знову використаю стрілки вбік. Але цього разу я витягну значення з цього списку.
Я збираюся надати йому спеціальний роздільник.
Я буду використовувати подвійну вертикальну лінію як роздільник. Це повинно зробити різницю між значеннями в даних із роздільниками чіткішими.
Коли я натискаю OK, значення об’єднуються безпосередньо в стовпець «Спеціальний».
Очищення даних
Мені більше не потрібні стовпці «Конкурент» і «Суми конкурентів», тому я збираюся видалити ці стовпці.
Що стосується спеціального стовпця, я збираюся розділити його.
На вкладці трансформації я збираюся вибрати «Розділити стовпець». Я збираюся розділити його роздільником.
У вікні я дам подвійну трубу як основу.
Після того, як я натисну OK, дані будуть розділені на окремі стовпці.
Я просто перейменую ці нові стовпці, щоб легше було зрозуміти, про що йдеться в даних. Я знову назву цю колонку «Конкурент».
Тоді я назву інший стовпець стовпцем Сума.
Очевидно, стовпець Сума містить числа. Але якщо ви подивитеся на піктограму, яка представляє тип даних, вона покаже, що я маю текст замість чисел. Тож я почну це виправляти.
Я живу в Європі, тому ми використовуємо крапку як роздільник тисяч замість коми. Я збираюся використати Replace Values, щоб очистити це.
У вікні мені просто потрібно поставити кому під «Значення для пошуку» та крапку під «Замінити на».
Після того, як я натисну OK, усі коми тепер відображатимуть крапки.
Наступне, що я збираюся зробити, це видалити знак долара перед значеннями. Знову ж таки, я скористаюся інструментом «Замінити значення». Цього разу я залишу порожнім місце для «Замінити на».
Після того, як я натисну OK, значення відображатимуть лише числа без жодної валюти.
Дивлячись вниз на мій стовпець, тут також показано запис із подвійним тире. Оскільки це може повернути можливу помилку, я збираюся позбутися цього подвійного тире.
Я заміню подвійне тире на пробіл.
І як тільки я натискаю OK, я маю правильний формат для всіх записів у стовпці Сума.
Тепер я можу натиснути піктограму типу даних і вибрати «Ціле число».
Висновок
Як я вже згадував раніше, ви можете отримувати значення з даних із роздільниками різними способами. Але для мене цей підхід є одним із найпростіших і найшвидших способів це зробити.
Оскільки я отримав ідею цього рішення від одного з членівспільноти, це також показує, наскільки важливіє. Ви дійсно можете побачити кожну проблему з різних точок зору. Звідти ви можете просто вибрати рішення, яке, на вашу думку, буде найкращим для вас.
Все найкраще,
Меліса
***** Вивчаєте LuckyTemplates? *****
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.