R development

R development

Szkolenia otwarte

3 300 PLN

- Szkolenie, w którym uczestniczą osoby z różnych firm
- Plan szkolenia taki, jak przedstawiony na stronie
- Małe grupy szkoleniowe, 3-10 osób

Szkolenia zamknięte

Cena ustalana indywidualnie

- Szkolenie realizowane na indywidualne zamówienie
- Termin i miejsce szkolenia ustalamy indywidualnie
- Plan szkolenia dostosowany do potrzeb firmy

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.
  • 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
  • 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.

Plan szkolenia

Moduł I – Tworzenie dobrego kodu w R

  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

Moduł II – Zaawansowane programowanie w R

  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

  1. 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

  1. Programowanie obiektowe
    • Klasy
    • Obiekty klasy S3
      • Rozpoznawanie obiektów, fukcje 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, fukcje 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, fukcje 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
  2. 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
  3. Pamięć
    • Wielkość obiektów
    • Wykorzystanie pamięci i garbage collector
    • Profilowanie wykorzystania pamięci
  4. 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

  1. 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

Moduł III – Budowa pakietów w R

  1. Konfiguracja środowiska Rstudio do budowy pakietów

  1. Reguły dobrego stylu w budowie pakietów
    • Nazwy i organizacja plików
    • Dokumentacja
    • Testy
    • Zarządzanie błędami
  2. 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
  3. 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

Moduł IV – Case study – Development w R

  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

Plan Szkolenia

Plan jest pusty

Instruktorzy


Zapytaj o szkolenie

Jestem zainteresowany/a


 

Zapytaj o szkolenie zamknięte

Jestem zainteresowany/a


 

Zapytaj o szkolenie otwarte
 

Jestem zainteresowany/a


 

Zapytaj o ścieżkę szkoleniową
 

Rodzaj ścieżki:

Preferowany tryb szkolenia:

DziennyPopołudniowyWeekendowy

Podaj wynik działania:


 
Co oferujemy na czas trwania pandemii COVID-19?  Dowiedz się więcej →