R dla zaawansowanych

Jeśli znacie R dość dobrze, ale czujecie, że można wycisnąć z niego jeszcze więcej, macie rację. Na tym szkoleniu dowiecie się między innymi, jak szukać błędów w kodzie (oraz jak pisać, żeby popełniać ich jak najmniej), na czym polega programowanie obiektowe i funkcyjne, jak pisać dobre funkcje oraz jak samemu stworzyć pakiet R wraz z dokumentacją (oraz udostępnić go całemu światu). Poznacie również techniki, o których być może nawet nie wiedzieliście, że istnieją, a które bardzo usprawnią Waszą współpracę z R oraz jakimkolwiek innym językiem.

Wymagania. Dobra znajomość R.

Czas. Lekcje indywidualne:  16 lekcji po 45 minut.  Szkolenia dla grup:  3 dni po 6 godzin. Wwentualnie krócej, jeśli interesują Was jedynie niektóre tematy.

1. Funkcje przyspieszające analizę danych

- Where i across
- Funkcje anonimowe
- Map
- Operacje na wierszach (rowwise)
- Nest

2. Debbuging i profilowanie

- Czym jest debugging i jak to zrobić w R
- Obsługa wyjątków
- Programowanie defensywne
- Czym jest profilowanie i jak to zrobić w R
- Obliczenia równoległe

3. Programowanie obiektowe

- Czym jest obiektowość i czy warto się na tym znać
- Podstawowe pojęcia: polimorfizm, klasa, metoda, hierarchiczność
- Jak wygląda obiektowość w R
- System S3
- System S4
- System R6

4. Testy jednostkowe

- Dlaczego to jest takie ważne
- Pakiet testthat
- Jak pisać dobre testy

5. Tworzenie własnych pakietów

- Motywacja
- Struktura pakietu
- Cykl życia pakietu
- Pliki Description i Namespace
- Dokumentacja i winieta
- Testy
- Metody (programowanie obiektowe)
- GitHub
- Wysłanie do CRAN