Оцінка та оптимізація продуктивності коду в R

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

У цьому підручнику ми оцінимо та оптимізуємо продуктивність R-коду за допомогою різних , таких як tidyverse та data.table. Як приклад, ми побачимо, скільки часу потрібно RStudio для читання великого файлу CSV за допомогою функції read.csv () , пакету tidyverse та пакету data.table.

Зміст

Оптимізація продуктивності в R

Відкрийте RStudio. У сценарії R призначте розширення файлу змінній.

Ви повинні використовувати функцію system.file () , щоб визначити, скільки часу потрібно для виконання функції чи операції. Оскільки ми хочемо оцінити, скільки часу потрібно для відкриття файлу, напишіть read.csv (df) в аргументі.

Оцінка та оптимізація продуктивності коду в R

Коли ви запускаєте код, консоль покаже вам час, який знадобився для відкриття файлу. Стовпець, що минув, показує, скільки часу знадобилося ЦП для виконання коду R. Результати показують, що RStudio зайняло 31,93 секунди, що є значною кількістю часу. Цей час завантаження непрактичний, якщо ви постійно працюєте з великими наборами даних.

Оцінка та оптимізація продуктивності коду в R

Одним із способів оптимізації продуктивності коду R є використання пакета tidyverse . Таким чином час скорочується з 30 до 5 секунд.

Зверніть увагу, що для того, щоб прочитати файл, вам потрібно використовувати функцію read_csv () .

Оцінка та оптимізація продуктивності коду в R

Пакет tidyverse покращує час завантаження в R завдяки використанню пакета readr , який забезпечує набір швидких і ефективних функцій для читання та запису даних. Пакет readr містить такі функції, як read_csv ( ) і read_table ( ) , які можуть швидко й ефективно читати великі набори даних.

Іншим методом оптимізації в R є використання пакета data.table . Це можна безкоштовно завантажити в Інтернеті.

Пакет data.table у R — це потужний і ефективний інструмент для роботи з великими та складними наборами даних. Він надає розширену версію об’єкта data.frame, який є основною структурою даних у R. Основною перевагою data.table є його висока продуктивність і низьке використання пам’яті під час роботи з великими наборами даних.

Зауважте, що під час використання цього пакета вам потрібно написати функцію fread ( ) замість read.csv ( ). Якщо ви запустите це разом із вашим кодом, ви побачите, що час завантаження скорочується до 2,25 секунди.

Оцінка та оптимізація продуктивності коду в R

Порівняння пакетів R за допомогою Microbenchmark

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

Функція microbenchmark ( ) у R є інструментом для вимірювання продуктивності коду R. Він забезпечує простий і легкий у використанні інтерфейс для порівняльного аналізу часу виконання R-виразів.

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

Оцінка та оптимізація продуктивності коду в R

Якщо у вас виникли проблеми з читанням файлу CSV у LuckyTemplates, RStudio може зробити це за вас. У R є інші параметри, які можна використовувати для оптимізації продуктивності коду. Але data.table настійно рекомендується через його простоту.

Висновок

Оптимізація коду R є важливим кроком у забезпеченні ефективної роботи ваших сценаріїв R. Існує кілька методів і інструментів, які можна використовувати для оптимізації коду R, наприклад використання пакета tidyverse для маніпулювання даними, використання пакета data.table для великих наборів даних і використання пакету мікротестів для вимірювання продуктивності коду 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.

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

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

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