Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
У цій публікації блогу ми докладніше розглянемо спеціальну функцію для очищення тексту, яку я створив для нашої поточної серії на LuckyTemplates TV під назвою . Ви можете переглянути повне відео цього підручника внизу цього блогу.
За тиждень №2 у нас є деякі брудні дані, які потрібно очистити. Наша мета тут — очистити всі текстові значення в обох стовпцях.
Для цього завдання я створив функцію чистого тексту.
Але спочатку давайте швидко розглянемо код M.
Ця функція займає одинпід назвою myText. Його значення має бути текстового типу, а функція має повертати текстове значення, оскільки не всі перелічені нижче змінні повертатимуть текстове значення.
Оголошення типу повернення призведе до помилки. Щоб запобігти цій помилці, я можу прокоментувати це наразі.
Якщо ми хочемо побачити, що повертає перша змінна, все, що нам потрібно зробити, це звернутися до неї за назвою після пропозиції in. Тому я збираюся скопіювати змінну ToRemove, вставити її в нижній рядок і натиснути «ОК».
Щоб побачити результат цієї функції, ми повинні її викликати. Отже, давайте додамо настроюваний стовпець до цього запиту.
Потім викличте нашу функцію, виберіть цей об’єднаний стовпець і натисніть «ОК».
Зміст
Створення списків із пустого запиту
Тепер ми бачимо, що крок ToRemove створює список. По суті, це комбінація двох списків.
Перший список створив знаки лапок, а другий список – це діапазон символів, які я хотів видалити.
Як я створив цей список?
Ну, я використав функцію під назвою Txt.ToList.
Ви можете отримати доступ до документації внутрішньої функції, створивши порожній запит, ввівши назву функції без дужок і натиснувши Enter.
Ми бачимо, що Text.ToList повертає список значень символів із заданого текстового значення.
Давайте вставимо кілька текстів і викличемо цю функцію.
Він створює новий запит, і ви бачите, що цей список містить усі літери, які ми бачимо тут у тексті.
Пам’ятаєте, що я додав додатковий список, правда? Я об’єднав два списки та використав для цього амперсанд.
Давайте відтворимо це зараз. Я використав амперсанд та ініціалізатор списку, а потім ввів ці знаки лапок.
Тепер ми бачимо, що цитати додано до цього списку, але чому я створив список?
Що ж, на наступному кроці моєї функції очищення тексту я використав функцію M під назвою Text. видалити.
І ви бачите, що ви можете ввести текст, а потім список символів, які ви хочете видалити з цього рядка.
Повернемося до нашої функції очищення тексту.
до. Remove створив ці два списки, а потім об’єднав їх у єдиний список.
А потім давайте вставимо змінну CleanText. Речення «in» викликає функцію M Text.Remove і передає змінну myText, а потім викликає список To.Remove. Давайте подивимося, що це робить.
Повернемося до нашого запиту. Це більше не повертає список, але повертає деякі текстові значення.
Обрізка в Power Query
Наступний крок - обрізка . Як ви можете бачити на зображенні вище, у нас є додаткові пробіли та кінцева кома в кінці, яких ми хочемо позбутися. Для цього ми можемо використовувати функції trim. Давайте повернемося до запиту, щоб перевірити код M.
У коді M я вклав 2 функції обрізки. Перша рядкова функція видаляє додаткові пробіли на початку та в кінці нашої змінної CleanText.
Для решти текстів, які у нас є, ми також видалимо пробіли з рядка результату.
Ми також збираємося видалити кінцеву кому.
Подивимося на результат. Я збираюся скопіювати назву змінної, вставити її після пропозиції «in» і натиснути «Готово». Коли ми оновимо наш запит, ви побачите, що додаткові пробіли зникли, а кінцеву кому видалено.
На останніх етапах мого запиту я просто замінив деякі текстові значення.
В останньому випадку я замінив це підкреслення пробілом. Давайте скопіюємо це та вставимо після пропозиції «in». Я також знову ввімкнув тип повернення.
Давайте повернемося до нашого запиту та перевіримо результати – поки що все добре!
Тепер ми не хочемо створювати нові стовпці для виклику нашої функції, вірно? Натомість ми можемо перетворити наш стовпець 1 у стовпець злиття.
Я збираюся видалити цей користувацький крок стовпця.
Тоді я збираюся використовувати користувальницький інтерфейс, щоб створити основну частину коду для нас. На вкладці «Перетворення» виберіть обидва стовпці, перейдіть до «Формат» і виберіть функцію.
Насправді не має значення, яку функцію вибрано, оскільки це код M, який генерується інтерфейсом користувача. Тепер ми можемо замінити цей текст. Нижня функція…
… за допомогою нашої функції чистого тексту. Сподіваюся, ви зрозуміли, чому мені довелося додати fx спереду. Немає «у функції», яка починається з цього.
Коли ми натискаємо OK, ви бачите, що наші тексти очищено. Це круто.
Висновок
Чому нам довелося пройти через усі труднощі, створюючи спеціальну функцію очищення? Що ж, якщо ймовірно, що вам доведеться повторити цей крок або використовувати подібну логіку в майбутньому, ви можете зберегти цей запит функції.
Таким чином, це пришвидшить розробку запиту на наступному етапі. Ще одна вагома причина полягає в тому, що це також весело робити.
Сподіваюся, вам сподобався цей урок. Якщо так, не забудьте підписатися на канал LuckyTemplates .
Меліса
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.