Ocena i optymalizacja wydajności kodu w języku R

Ocena i optymalizacja wydajności kodu w języku R

Optymalizacja kodu R może znacznie poprawić wydajność skryptów i programów języka R, dzięki czemu działają wydajniej. Jest to szczególnie ważne w przypadku dużych i złożonych zbiorów danych, a także aplikacji, które muszą być uruchamiane w czasie rzeczywistym lub regularnie.

W tym samouczku ocenimy i zoptymalizujemy wydajność kodu języka R przy użyciu różnych pakietów języka R , takich jak tidyverse i data.table. Jako przykład zobaczymy, ile czasu zajmuje RStudio odczytanie dużego pliku CSV przy użyciu funkcji read.csv ( ) , pakietu tidyverse i pakietu data.table.

Spis treści

Optymalizacja wydajności w R

Otwórz RStudio. W skrypcie języka R przypisz rozszerzenie pliku do zmiennej.

Musisz użyć funkcji system.file ( ) , aby określić, ile czasu zajmuje wykonanie funkcji lub operacji. Ponieważ chcemy ocenić, ile czasu zajmuje otwarcie pliku, w argumencie napisz read.csv (df) .

Ocena i optymalizacja wydajności kodu w języku R

Po uruchomieniu kodu konsola pokaże czas potrzebny do otwarcia pliku. Kolumna Elapsed pokazuje, ile czasu zajęło procesorowi wykonanie kodu R. Wyniki pokazują, że zajęło to RStudio 31,93 sekundy, co jest znaczną ilością czasu. Ten czas ładowania jest niepraktyczny, jeśli zawsze pracujesz z dużymi zestawami danych.

Ocena i optymalizacja wydajności kodu w języku R

Jednym ze sposobów optymalizacji wydajności kodu R jest użycie pakietu tidyverse . Skróci to czas z 30 do 5 sekund.

Zwróć uwagę, że aby odczytać plik, musisz użyć funkcji read_csv () .

Ocena i optymalizacja wydajności kodu w języku R

Pakiet tidyverse poprawia czas ładowania w R poprzez wykorzystanie pakietu readr , który dostarcza zestaw szybkich i wydajnych funkcji do odczytu i zapisu danych. Pakiet readr udostępnia funkcje takie jak read_csv() i read_table() , które mogą szybko i wydajnie odczytywać duże zbiory danych.

Inną metodą optymalizacji w R jest użycie pakietu data.table . Jest to do pobrania za darmo w Internecie.

Pakiet data.table w języku R to potężne i wydajne narzędzie do pracy z dużymi i złożonymi zbiorami danych. Zapewnia ulepszoną wersję obiektu data.frame, który jest podstawową strukturą danych w R. Główną zaletą data.table jest wysoka wydajność i niskie zużycie pamięci podczas pracy z dużymi zbiorami danych.

Zauważ, że używając tego pakietu, musisz napisać funkcję fread ( ) zamiast read.csv ( ). Kiedy uruchomisz to razem ze swoim kodem, zobaczysz, że czas ładowania jest skrócony do 2,25 sekundy.

Ocena i optymalizacja wydajności kodu w języku R

Porównanie pakietów R za pomocą Microbenchmark

Aby porównać wydajność każdej metody, możesz użyć funkcji microbenchmark ( ) .

Funkcja microbenchmark ( ) w R jest narzędziem do mierzenia wydajności kodu R. Zapewnia prosty i łatwy w użyciu interfejs do porównywania czasu wykonania wyrażeń języka R.

Wspaniałą rzeczą w tej funkcji jest możliwość ustawienia liczby powtórzeń procesu. Daje to dokładniejsze wyniki. Możesz także określić, czy wyniki są spójne.

Ocena i optymalizacja wydajności kodu w języku R

Jeśli masz problemy z odczytaniem pliku CSV w usłudze LuckyTemplates, program RStudio może to zrobić za Ciebie. Istnieją inne opcje w języku R, których można użyć do optymalizacji wydajności kodu. Ale data.table jest wysoce zalecana ze względu na swoją prostotę.

Wniosek

Optymalizacja kodu R jest ważnym krokiem w zapewnieniu wydajnego działania skryptów R. Istnieje kilka technik i narzędzi, które można wykorzystać do optymalizacji kodu R, na przykład użycie pakietu tidyverse do manipulacji danymi, użycie pakietu data.table do dużych zbiorów danych oraz użycie pakietu microbenchmark do pomiaru wydajności kodu R.

Ważne jest również, aby pamiętać o dobrych praktykach kodowania, takich jak używanie operacji wektorowych zamiast pętli, korzystanie z wbudowanych funkcji zamiast pisania własnych i pamiętanie o wykorzystaniu pamięci w kodzie.

Wszystkiego najlepszego,

Jerzego Mounta


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć