Wydajne programowanie w R.

Book description

Praktyczny przewodnik po lepszym programowaniu
Istnieje wiele znakomitych materiałów dotyczących wizualizacji, analizy danych i tworzenia pakietów w języku R. Setki rozproszonych winiet, stron internetowych i forów wyjaśnia, jak należy korzystać z R w określonych domenach. Niewiele jednak zostało napisane o tym, jak w prosty sposób zapewnić efektywne działanie języka R – aż do teraz. Ten praktyczny podręcznik uczy nowych i doświadczonych użytkowników R, jak pisać w tym języku wydajny kod.
Bazując na swoim wieloletnim doświadczeniu w prowadzeniu kursów języka R, autorzy Colin Gillespie i Robin Lovelace dostarczają szereg praktycznych porad na wiele różnych tematów – od optymalizowania konfiguracji środowiska RStudio po wykorzystywanie języka C++ – które czynią z tej książki przydatną pozycję w zbiorze literatury dowolnego użytkownika R. Z treści podręcznika Wydajne programowanie w R z pewnością skorzystają nauczyciele akademiccy, użytkownicy biznesowi i programiści z wielu różnych śro-dowisk.
Uzyskaj porady związane z konfigurowaniem środowiska programistycznego R
Poznaj ogólne koncepcje programowania i techniki kodowania w R
Zapoznaj się z elementami składowymi wydajnego przepływu pracy w R
Naucz się, jak wydajnie odczytywać i zapisywać dane w R
Zagłęb się w stolarce danych – kluczowej umiejętności czyszczenia surowych danych
Zoptymalizuj swój kod przy użyciu profilowania, standardowych trików oraz innych metod
Określ swoje możliwości sprzętowe w zakresie obsługi obliczeń R
Zmaksymalizuj korzyści płynące z programowania zespołowego
Przyspiesz swoją przemianę z hakera R w programistę R
Colin Gillespie jest starszym wykładowcą na Uniwersytecie w Newcastle w Wielkiej Brytanii. Jego zainteresowania badaw-cze obejmują obliczenia o wysokiej wydajności oraz statystykę bayesowską. Regularnie zatrudniany przez firmę Jumping Rivers (jumpingrivers.com) jako konsultant, uczy języka R od 2005 roku.
Robin Lovelace jest pracownikiem Instytutu Badań nad Transportem oraz Instytutu Analizy Danych Uniwersytetu w Leeds w Wielkiej Brytanii. Przez pięć lat wykorzystywał R w badaniach akademickich, zaś przez cztery lata uczył języka R na wszystkich poziomach. Wykorzystał też język R w kilku projektach realizowanych w ramach programu badań stosowanych.
“ Autorzy piszą czystą prozą, która daje zwięzłą i dobitną odpowiedź na pytanie »Dlaczego wydajne programowanie?«. Podwójny nacisk na programowanie i produktywność jest bardzo przydatny”
—Garrett Grolemund
Główny instruktor w RStudio oraz autor książek R for Data Science oraz Hands-on Programming with R
(O’Reilly)

Table of contents

  1. Okładka
  2. Strona tytułowa
  3. Spis treści (1/2)
  4. Spis treści (2/2)
  5. Przedmowa (1/2)
  6. Przedmowa (2/2)
  7. Wprowadzenie
    1. Wymagania wstępne
    2. Dla kogo jest ta książka i jak z niej korzystać?
    3. Czym jest wydajność?
    4. Czym jest wydajne programowanie w R?
    5. Dlaczego wydajność?
    6. Umiejętności uniwersalne zapewniające wydajność
      1. Pisanie bezwzrokowe
      2. Spójny styl i konwencje kodowania
    7. Testy porównawcze i profilowanie
      1. Wykonywanie testów porównawczych
      2. Przykład testu porównawczego
      3. Profilowanie
    8. Materiały do książki
      1. Pakiet R
      2. Wersja online
    9. Lektura uzupełniająca
  8. Wydajna konfiguracja
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnej konfiguracji R
    3. System operacyjny
      1. Monitorowanie systemu operacyjnego i zasobów
    4. Wersje R
      1. Instalowanie R
      2. Aktualizowanie R
      3. Instalowanie pakietów R
      4. Instalowanie pakietów R z zależnościami
      5. Aktualizowanie pakietów R
    5. Uruchamianie R
      1. Argumenty uruchamiania R
      2. Przegląd plików startowych R
      3. Lokalizacja plików startowych
      4. Plik .Rprofile
      5. Przykładowy plik .Rprofile
      6. Plik .Renviron
    6. RStudio
      1. Instalowanie i aktualizowanie RStudio
      2. Układ paneli
      3. Opcje programu RStudio
      4. Autouzupełnianie
      5. Skróty klawiszowe
      6. Wyświetlanie obiektów i tabel
      7. Zarządzanie projektami
    7. BLAS i alternatywne interpretery R
      1. Testowanie zysków wydajności po użyciu BLAS
      2. Inne interpretery
      3. Przydatne materiały
    8. Lektura uzupełniająca
  9. Wydajne programowanie
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnego programowania
    3. Porady ogólne
      1. Przydział pamięci
      2. Kod zwektoryzowany
    4. Komunikacja z użytkownikiem
      1. Błędy krytyczne: stop()
      2. Ostrzeżenia: warning()
      3. Wyjście informacyjne: message() i cat()
      4. Niewidoczne wartości zwracane
    5. Faktory
      1. Porządkowanie
      2. Stały zbiór kategorii
    6. Rodzina funkcji apply
      1. Przykład: zbiór danych o filmach
      2. Spójność typu
    7. Buforowanie zmiennych
      1. Domknięcia funkcji
    8. Kompilator kodu pośredniego
      1. Przykład: funkcja do obliczania średniej
      2. Kompilowanie kodu
    9. Lektura uzupełniająca
  10. Wydajny przepływ pracy
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnego przepływu pracy
    3. Typologia planowania projektów
    4. Planowanie i zarządzanie projektem
      1. Podział pracy
      2. Przepływ pracy a kryteria SMART
      3. Wizualizowanie planów w R
    5. Wybór pakietów
      1. Wyszukiwanie pakietów
      2. Jak wybierać pakiety?
    6. Publikacja
      1. Tworzenie dynamicznych dokumentów przy użyciu R Markdown
      2. Pakiety R
    7. Lektura uzupełniająca
  11. Wydajne wejście/wyjście
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnego wejścia/wyjścia danych
    3. Uniwersalne importowanie danych z użyciem rio
    4. Formaty zwykłego tekstu
      1. Różnice pomiędzy fread() i read_csv()
      2. Wstępne przetwarzanie tekstu poza R
    5. Formaty plików binarnych
      1. Natywne formaty binarne: Rdata czy Rds?
      2. Format pliku Feather
      3. Testy porównawcze formatów plików binarnych
      4. Protocol Buffers
    6. Pozyskiwanie danych z Internetu
    7. Uzyskiwanie dostępu do danych przechowywanych w pakietach
    8. Lektura uzupełniająca
  12. Wydajna stolarka danych
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnej stolarki danych
    3. Wydajne ramki danych z wykorzystaniem pakietu tibble
    4. Oczyszczanie danych za pomocą pakietu tidyr i wyrażeń regularnych
      1. Tworzenie wąskich tabel za pomocą funkcji gather()
      2. Podział zmiennych za pomocą funkcji separate()
      3. Pozostałe funkcje tidyr
      4. Wyrażenia regularne
    5. Wydajne przetwarzanie danych za pomocą pakietu dplyr
      1. Modyfikowanie nazw kolumn
      2. Modyfikowanie klas kolumn
      3. Filtrowanie wierszy
      4. Łączenie operacji
      5. Agregowanie danych
      6. Niestandardowa ewaluacja
    6. Łączenie zbiorów danych
    7. Praca z bazami danych
      1. Bazy danych i dplyr
    8. Przetwarzanie danych przy użyciu data.table
    9. Lektura uzupełniająca
  13. Wydajna optymalizacja
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnej optymalizacji
    3. Profilowanie kodu
      1. Rozpoczynanie pracy z pakietem profvis
      2. Przykład: symulacja gry Monopol
    4. Wydajny język R
      1. Funkcja if() kontra ifelse()
      2. Sortowanie i porządkowanie
      3. Odwracanie kolejności elementów
      4. Które indeksy mają wartość TRUE?
      5. Konwertowanie faktorów na wartości numeryczne
      6. Operatory logiczne AND i OR
      7. Operacje na wierszach i kolumnach
      8. Funkcje is.na() i anyNA()
      9. Macierze
    5. Przykład: optymalizowanie funkcji move_square()
    6. Przetwarzanie równoległe
      1. Współbieżne wersje funkcji z rodziny Apply
      2. Przykład: Węże i drabiny
      3. Ostrożne wychodzenie z funkcji
      4. Równoległy kod w systemach Linux i OS X
    7. Rcpp
      1. Prosta funkcja w C++
      2. Polecenie cppFunction()
      3. Typy danych w C++
      4. Funkcja sourceCpp()
      5. Wektory i pętle
      6. Macierze
      7. C++ z dodatkiem lukru składniowego
      8. Materiały dla Rcpp
    8. Lektura uzupełniająca
  14. Wydajny sprzęt
    1. Wymagania wstępne
    2. Pięć głównych porad dotyczących wydajnego sprzętu
    3. Informacje podstawowe: Czym jest bajt?
    4. Pamięć RAM
    5. Dyski twarde: HDD kontra SSD
    6. Systemy operacyjne: 32- i 64-bitowe
    7. Procesor
    8. Obliczenia w chmurze
      1. Amazon EC2
  15. Wydajna współpraca
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla zapewnienia wydajnej współpracy
    3. Styl kodowania
      1. Formatowanie kodu w RStudio
      2. Nazwy plików
      3. Wczytywanie pakietów
      4. Komentowanie
      5. Nazwy obiektów
      6. Przykładowy pakiet
      7. Operacje przypisania
      8. Znaki odstępu
      9. Wcięcia
      10. Nawiasy klamrowe
    4. Kontrola wersji
      1. Zatwierdzanie kodu
      2. Integracja Git w RStudio
      3. GitHub
      4. Gałęzie, rozwidlenia, pobieranie i klonowanie
    5. Przegląd kodu
    6. Lektura uzupełniająca
  16. Wydajne uczenie się
    1. Wymagania wstępne
    2. Pięć głównych wskazówek dla wydajnego uczenia się
    3. Korzystanie z wewnętrznej pomocy R
      1. Wyszukiwanie tematów w R
      2. Wyszukiwanie i korzystanie z winiet
      3. Uzyskiwanie pomocy na temat funkcji
      4. Czytanie kodu źródłowego R
      5. swirl
    4. Materiały online
      1. Stack Overflow
      2. Listy mailingowe i grupy
    5. Zadawanie pytań
      1. Minimalny zbiór danych
      2. Minimalny przykład
    6. Pogłębianie wiedzy
    7. Szerzenie wiedzy
    8. Lektura uzupełniająca
    9. Wykorzystywane pakiety
    10. Lektura uzupełniająca
  17. Indeks (1/2)
  18. Indeks (2/2)
  19. O autorach
  20. Kolofon

Product information

  • Title: Wydajne programowanie w R.
  • Author(s): Colin Gillespie, Robin Lovelace
  • Release date: February 2018
  • Publisher(s): APN Promise
  • ISBN: 9788375413526