ProgramowanieR

R development

06 - 11 cze 2024

Online

3 700,00 zł netto / osobę
Nie pasuje Ci żaden termin? Napisz do nas!
Zapisz więcej osób

Taniej w grupie

  • 3 osoby - 10% zniżki
  • 4 osoby - 15% zniżki
  • 5 osób - 20% zniżki
  • 6 osób - 25% zniżki
  • 7 osób - 30% zniżki
  • O szkoleniu

    R jest obecnie jednym z najpopularniejszych narzędzi stosowanych do analizy danych.  Z pomocą tego języka programowania możemy przeprowadzać skomplikowane obliczenia, transformacje, analizy statystyczne, budować modele ekonometryczne, tworzyć piękne wykresy a nawet zautomatyzować raport analityczny.
    Dzięki dużej liczbie osób zaangażowanych w rozwój R liczba zastosowań i dostępnych metod statystycznych ciągle rośnie.
    Szkolenie to ma na celu wprowadzenie uczestników w zaawansowane aspekty programowania w tym języku.

    Dla kogo jest to szkolenie?

    Szkolenie kierowane jest do osób, które mają już doświadczenie w pracy z językiem programowania R. Zawsze staramy się dostosować nasze szkolenia do poziomu wiedzy kursanta, ale aby szkolenie przyniosło jak największą korzyść warto, by kursant miał już pewne obycie z R.

    Nasze szkolenie kierujemy do:

    • Analityków
    • Konsultantów
    • Statystyków
    • Studentów

    Nasi kursanci pracują z R w różnych branżach (finanse, produkcja, medycyna itp.). Zawsze podczas szkolenia staramy się położyć nacisk na te elementy R, które będą im najbardziej przydatne w codziennej pracy

    Czego się nauczę?

    Jest to szkolenie zaawansowane. Naszym celem jest takie poprowadzenie kursu, by po jego ukończeniu uczestnik biegle korzystał z R. Dodatkowo pokazujemy też najczęstsze problemy i błędy, które pojawiają się zazwyczaj podczas korzystania z bardziej zaawansowanych funkcji R.

    Po ukończeniu szkolenia, uczestnik będzie potrafił:

    • Zwiększyć wydajność pisanego kodu – źle pisany kod mści się na programiście w miarę rozwoju projektu. Uczymy prawidłowych technik pisania poprawnego i wydajnego kodu, dzięki czemu nawet przy większej rozbudowie programu będzie on spełniał swoją funkcję i nie będzie wymagał poprawek.
    • Budować pętle i warunkować wykonanie kodu – pętle to podstawa każdego języka programowania. Pokazujemy jak prawidłowo budować pętle.
    • Automatyzować zadania analityczne – automatyzacja zawsze jest mile widziana, bo pomaga zaoszczędzić czas i środki. Pokazujemy jak działa automatyzacja w R i j jak ją wykorzystać przy zadaniach analitycznych
    • Implementować funkcje z R w C++ nawet bez dobrej znajomości C++. Dzięki Rcpp implementacja kodu C++ przebiega w podobnym stylu do tego z którego korzystasz w R.
    • Korzystać z systemu kontroli wersji – uczymy podstaw używania Git’a oraz serwisu Github.
    • Stworzyć własny pakiet R – dzięki czemu możemy udostępnić pomocne funkcje użytkownikom R lub ułatwić ich ponowne wykorzystanie w swojej pracy. Zaprezentowane zostaną wszystkie dobre praktyki związane z tworzeniem pakietu takie jak np. testowanie i tworzenie dokumentacji.
    1. Konfiguracja R dla wydajnego programowania
    • Zarządzanie ustawieniami startowymi R
    • Konfiguracja RStudio
    • Zarządzanie biblioteki i wersjami
    • Przygotowanie środowiska dev
    • Kompilacja pakietów ze źródła
    • BLAS
    • Hardware do pracy R
    2. Praca projektowa w R
    • Planowanie pracy w ramach projektu – typologia projektów w R
    • Podział pracy na kawałki i wizualizacja
    • Organizacja pracy w ramach projektów w Rstudio
    • Bezpieczne definiowanie ścieżek do plików
    • Zarządzanie projektem i kodem w ramach projektu
    • Dobór bibliotek do projektu
    3. Kontrola wersji z Git i GitHub
    • Konfiguracja Git i GitHub
    • Tworzenie i zarządzanie repozytorium
    • Codzienna praca z kontrolą wersji w R
      • Commit zmian lokalnie i push na github
      • Rozwiązywanie problemów i konfliktów
    4. Reguły dobrego stylu w tworzeniu kodu R
    • Biblioteki wspierające – styler i lintr
    • Konwencje nazwy i struktura plików
    • Składnia kodu
    • Funkcje
    • Refactoring kodu
    5. Dobre praktyki przy tworzeniu kodu w R
    • Struktura folderów
    • Struktura kodu i implementacja
    • Input z rio
    • Funkcje i wartości domyślne
    • Zarządzanie środowiskiem
    • Zarządzanie danymi
    • Zarządzanie pamięcią
    • Output
    • Environments i ich wykorzystanie
    6. Debugowanie kodu
    • Narzędzia wspomagające debugowanie
    • Interaktywne śledzenie błędów – stack
    • Komunikaty error, warning, info message
    1. Wyrażenia kontrolujące wykonanie kodu
    • If else
    • for
    • break
    • next
    2. Funkcje
    • Struktura funkcji w R
    • Parametry nazwane i wartości domyślne
    • Ewaluacja typu lazy
    • Operator infix
    • Funkcje wektoryzowane
    3. Programowanie funkcyjne
    • Paradygmat programowania funkcyjnego w R
    • Funkcje rekurencyjne
    • Scope i Environment
    • Closures
    • Funkcje wyższego rzędu
    • Filter map reduce
    • Rodzina apply
    • Programowanie funkcyjne z pakietem purr
    4. Programowanie obiektowe
    • Klasy
    • Obiekty klasy S3
      • Rozpoznawanie obiektów, funkcje ogólne, metody
      • Definiowanie klasy i tworzenie obiektów
      • Tworzenie nowych metod i funkcji ogólnych
      • Walidacja nowych obiektów
    • Obiekty klasy S4
      • Rozpoznawanie obiektów, funkcje ogólne, metody
      • Definiowanie klasy i tworzenie obiektów
      • Tworzenie nowych metod i funkcji ogólnych
      • Walidacja nowych obiektów
    • Obiekty klasy R6
      • Rozpoznawanie obiektów, funkcje ogólne, metody
      • Definiowanie klasy i tworzenie obiektów
      • Tworzenie nowych metod i funkcji ogólnych
    • Klasy referencyjne
      • Definiowanie klasy referencyjnej
      • Tworzenie nowych obiektów
      • Rozpoznawanie obiektów i metod
    5. Metody i funkcje ogólne
    • Definicja metod
    • Tworzenie nowych metod dla istniejących funkcji
    • Techniki programowania metod
    • Funkcje ogólne
    • Wybór metod przez funkcje ogólne
    6. Pamięć
    • Wielkość obiektów
    • Wykorzystanie pamięci i garbage collector
    • Profilowanie wykorzystania pamięci
    7. Zarządzanie błędami
    • Definiowanie warunków error, warning, message
    • Zarządzanie błędami try, tryCatch, withCallingHandlers
    • Pakiet tryCatchLog do lepszego zarządzania
    • Programowanie defensywne
    8. Analiza wydajności i jej optymalizacja
    • Profilowanie i mierzenie wykonania kodu
    • Bilbioteka microbenchmark i jej wykorzystanie
    • Biblioteka profvis
    • Strategie w optymalizacji
    • Organizacja kodu
    • Gotowe rozwiązania
    • Minimalizacja nakładów
    • Wektoryzacja
    • Unikanie kopiowania
    • JIT Kompilacja kodu byte-code
    • Obliczenia równoległe
    1. Konfiguracja środowiska Rstudio do budowy pakietów
    2. Reguły dobrego stylu w budowie pakietów
    • Nazwy i organizacja plików
    • Dokumentacja
    • Testy
    • Zarządzanie błędami
    3. Development pakietu R
    • Struktura pakietu i elementy tworzące
    • Tworzenie szkieletu pakietu z wykorzystaniem devtools
    • Kod R
    • Metadane, Licencja
    • Dokumentacja
    • Vignettes
    • Frameworki do testowania pakietu R
    • Namespace
    • Kompilacja
    • Publikacja pakietu i wymagania CRAN
    • Continous integration
    4. Rcpp – Implementacja funkcji R w C++
    • Słabości R i w jakich sytuacjach wykorzystać Rcpp
    • Tworzenie i kompilacja kodu
    • Embedowanie Rcpp w kodzie R
    • Typy danych i praca na nich
    • Przykłady zastąpienia kodu R z Rcpp
    1. Analiza problemu i projekt
    2. Podział pracy na bloki
    3. Stworzenie projektu i repozytorium
    4. Kodowanie rozwiązania
    5. Testowanie
    6. Dokumentacja
    7. Kompilacja do biblioteki