Tytuł Programowanie w języku R. Podtytuł Analiza danych, obliczenia, symulacje Autor Marek Gągolewski Język polski Wydawnictwo Wydawnictwo Naukowe PWN ISBN 978-83-011-8939-6 Rok wydania 2016 Warszawa Wydanie 2 ilość stron 528 Format pdf Spis treści Przedmowa XIII I Podstawy 1 1. Środowisko R i program RStudio 3 1.1. Parametry języka i środowiska R 3 1.2. Organizacja pracy w R i RStudio 4 1.2.1. Konsola R 5 1.2.2. Program RStudio 6 1.2.3. Pierwsze kroki w trybie interaktywnym 8 1.2.4. Edytor skryptów 10 1.2.5. System pomocy 11 2. Typy atomowe: wektory i NULL 13 2.1. Klasyfikacja typów obiektów w języku R 13 2.2. Wektory atomowe 14 2.2.1. Wektory wartości logicznych 14 2.2.2. Wektory liczbowe 17 2.2.3. Wektory napisów 18 2.2.4. Pozostałe typy wektorów atomowych i ich hierarchia 19 2.3. Tworzenie obiektów nazwanych 25 2.4. Braki danych, wartości nieskończone i nie-liczby 29 2.5. Rodzaj pusty (NULL) 31 3. Operacje na wektorach 34 3.1. Podstawowe operatory 34 3.1.1. Operatory arytmetyczne 35 3.1.2. Operatory logiczne 38 3.1.3. Operatory relacyjne 39 3.1.4. Priorytety operatorów 41 3.2. Indeksowanie wektorów. Oczyszczanie danych 42 3.2.1. Warianty indeksatorów 43 3.2.2. Modyfikowanie wybranych elementów 45 3.3. Przegląd funkcji zastosowanych 46 3.3.1. Zwektoryzowane funkcje matematyczne 46 3.3.2. Agregacja danych 51 3.3.3. Operacje na sąsiadujących elementach wektorów 54 3.3.4. Wyszukiwanie indeksów i wybór składników wektorów 55 3.3.5. Operacje oparte na permutowaniu komponentów wektorów 57 3.3.6. Operacje na zbiorach 59 3.3.7. Podstawowe operacje na napisach 60 4. Listy 63 4.1. Tworzenie list 63 4.2. Indeksowanie list 66 4.2.1. Operator „[" 66 4.2.2. Operator „[[" 66 4.2.3. Modyfikowanie zawartości list 67 4.3. Wybrane operacje na listach 70 4.3.1. Łączenie, rozwijanie i powielanie list 70 4.3.2. Wywoływanie funkcji na wszystkich elementach listy 73 5. Funkcje 78 5.1. Tworzenie obiektów rodzaju funkcja 79 5.1.1. Bloki wyrażeń 81 5.1.2. Sprawdzanie poprawności argumentów 84 5.1.3. Kilka uwag dla projektantów funkcji 87 5.1.4. Biblioteki funkcji w plikach R 88 5.1.5. Odwoływanie się do funkcji z zestawów R 89 5.2. Zasięg nazw w funkcjach 90 5.3. Parametry i argumenty 92 5.3.1. Przekazywanie argumentów przez wartość 92 5.3.2. Cechy z argumentami domyślnymi 93 5.3.3. Parametr specjalny „..." 94 6. Atrybuty obiektów 97 6.1. Nadawanie i odczytywanie atrybutów 97 6.2. Cechy specjalne 100 6.2.1. Atrybut comment 101 6.2.2. Atrybut names. Wektory z etykietami 101 6.2.3. Atrybut class. Wstęp do programowania obiektowego S3 106 6.3. O zachowywaniu i gubieniu atrybutów poprzez funkcje 111 7. Typy złożone 114 7.1. Macierze i tablice 114 7.1.1. Tworzenie macierzy 114 7.1.2. Indeksowanie macierzy 118 7.1.3. Tablice jako uogólnienie macierzy 120 7.1.4. Atrybut dimnames. Etykietowanie wierszy i kolumn 121 7.1.5. Reprezentacja macierzy i tablic 122 7.1.6. Wybrane operacje na macierzach 126 7.2. Szeregi czasowe 129 7.3. Czynniki 131 7.3.1. Tworzenie czynników 132 7.3.2. Reprezentacja czynników 132 7.3.3. Czynniki a wektory napisów 134 7.3.4. Wybrane operacje na czynnikach 135 7.4. Ramki informacji 138 7.4.1. Reprezentacja ramek informacji 139 7.4.2. Operatory indeksowania. Oczyszczanie informacji 141 7.4.3. Wybrane operacje na ramkach danych 144 8. Pielęgnowanie kodu 156 8.1. Organizacja kodu 157 8.1.1. Projekty i skrypty 157 8.1.2. Tworzenie własnych kompletów R 158 8.2. Obsługa wyjątków 159 8.2.1. Rodzaje wyjątków 159 8.2.2. Obsługa komunikatów diagnostycznych i ostrzeżeń 160 8.2.3. Obsługa błędów 161 8.3. Testowanie oprogramowania 162 8.4. Debugowanie kodu 165 8.5. Pomiar i poprawa sprawności kodu 167 8.5.1. Badanie niedługich fragmentów kodu 167 8.5.2. Profilowanie aplikacji 168 8.5.3. Złożoność czasowa i pamięciowa algorytmów 171 9. Modyfikacja przepływu sterowania 174 9.1. Wyrażenia warunkowe if i if...else 175 9.1.1. Określanie testowanego warunku 178 9.1.2. Wartości zwracane poprzez wyrażenia warunkowe 181 9.1.3. Funkcja return(). Rekurencja 182 9.2. Pętle 184 9.2.1. Pętla while 184 9.2.2. Pętla repeat 189 9.2.3. Pętla for 190 9.3. Uwagi na temat efektywności pętli 193 II Przygotowanie informacji 201 10. Przetwarzanie napisów 203 10.1. Podstawowe operacje na napisach 203 10.1.1. Wyznaczanie długości napisów 203 10.1.2. Porównywanie napisów 204 10.1.3. Łączenie i powielanie napisów 206 10.1.4. Przycinanie i wypełnianie 207 10.1.5. Formowanie napisów na podstawie innych obiektów 208 10.1.6. Zmiana pojedynczych znaków 211 10.1.7. Wyznaczanie podnapisów 211 10.1.8. Pozostałe operacje 213 10.2. Wyszukiwanie wzorca 214 10.2.1. Wzorce ustalone 215 10.2.2. Wyrażenia regularne 218 10.2.3. Wzorce rozmyte 229 10.3. Data i czas 230 10.3.1. Reprezentacja dat 230 10.3.2. Reprezentacja czasu 231 10.3.3. Operacje arytmetyczne 233 10.3.4. Konwersja daty i czasu 234 10.4. Reprezentacja napisów 235 10.4.1. Kodowanie ASCII 235 10.4.2. 8-bitowe kodowania polskich liter diakrytyzowanych 237 10.4.3. Kodowanie UTF-8 238 10.4.4. Konwersja kodowań 239 11. Przetwarzanie plików 241 11.1. Podstawowe operacje na plikach i katalogach 241 11.1.1. Ścieżki dostępu do plików i katalogów 241 11.1.2. Bieżący katalog roboczy. Ścieżki względne 243 11.1.3. Dane o plikach i katalogach 244 11.1.4. Wybrane działania na plikach i katalogach 245 11.1.5. Wyszukiwanie plików i katalogów 246 11.2. Serializacja i deserializacja obiektów 248 11.3. Popularne formaty plików 249 11.3.1. Pliki CSV 250 11.3.2. Pliki JSON 254 11.3.3. Pliki XML 255 11.4. Dostęp do baz informacji SQL 256 11.5. Dowolne pliki tekstowe 257 11.5.1. Odczyt plików tekstowych 258 11.5.2. Zapis plików tekstowych 258 11.6. Połączenia 259 11.6.1. URL, czyli ujednolicony lokalizator zasobów 259 11.6.2. Tworzenie połączeń 260 11.6.3. Otwieranie i zamykanie połączeń 262 11.6.4. Odczyt informacji z połączeń 262 11.6.5. Zapis informacji do połączeń 265 11.6.6. Zarządzanie otwartymi połączeniami 266 11.6.7. Nota o plikach binarnych 267 III Prezentacja wyników 269 12. Tworzenie wykresów 271 12.1. Schemat systemów graficznych w środowisku R 271 12.2. Podstawy wykorzystania pakietu graphics 273 12.2.1. Strona i rysunki 274 12.2.2. Cechy graficzne 275 12.2.3. Rysowanie punktów i odcinków (łamanych) 279 12.2.4. Barwy 282 12.2.5. Rysowanie wielokątów 284 12.2.6. Wypisywanie tekstu 286 12.2.7. Układ współrzędnych 287 12.2.8. Tworzenie wielu rysunków na jednej stronie 291 12.3. Wybrane wysokopoziomowe operacje graficzne 292 12.3.1. Rysowanie układu współrzędnych 292 12.3.2. Adnotacje i legenda 293 12.3.3. Wizualizacja danych jednowymiarowych 295 12.3.4. Wizualizacja danych dwuwymiarowych 298 12.3.5. Wizualizacja danych wielowymiarowych 302 12.4. Urządzenia graficzne 304 12.4.1. Urządzenia pdf(), svg() i postscript() 307 12.4.2. Urządzenia png() i jpeg() 307 13. Generowanie raportów przy użyciu kompletu knitr 309 13.1. Język Markdown 309 13.2. Podstawy wykorzystania pakietu knitr 316 13.3. Ustawienia wstawek 320 13.3.1. Identyfikatory wstawek i zależności między nimi 320 13.3.2. Pamięć podręczna 321 13.3.3. Wyświetlanie kodu i wyników tekstowych 322 13.3.4. Rysunki 323 13.3.5. Ustawienia globalne 324 IV użycia 335 14. Obliczenia numeryczne 337 14.1. Wprowadzenie 337 14.2. Algebra wektorów i macierzy 340 14.2.1. Podstawowe operacje 341 14.2.2. Normy 342 14.2.3. Metryki i inne odległości 344 14.2.4. Wektory i wartości własne 348 14.2.5. Rozkład Choleskiego 350 14.2.6. Rozkład QR 351 14.2.7. Rozkład SVD 354 14.3. Różniczkowanie i całkowanie 356 14.3.1. Różniczkowanie numeryczne 356 14.3.2. Całkowanie numeryczne 359 14.4. Optymalizacja 360 14.4.1. Algorytmy programowania matematycznego 362 14.4.2. Algorytmy optymalizacji ciągłej ogólnego zastosowania 365 14.5. Interpolacja i wygładzanie 368 14.5.1. Interpolacja jednowymiarowa 368 14.5.2. Interpolacja dwuwymiarowa 369 14.5.3. Wygładzanie 370 14.6. Rozwiązywanie (układów) równań (nie)liniowych 372 14.6.1. Wyznaczanie miejsc zerowych funkcji jednej zmiennej 372 14.6.2. Rozwiązywanie układów równań liniowych 374 14.6.3. Rozwiązywanie układów równań nieliniowych 374 15. Symulacje 376 15.1. Generowanie liczb (pseudo)losowych 376 15.1.1. Źródła (pseudo)losowości 377 15.1.2. Określanie ziarna generatora 378 15.1.3. Detale działania generatora 379 15.2. Rozkłady prawdopodobieństwa 381 15.2.1. Nazwy funkcji związanych z rozkładami 381 15.2.2. Wybrane jednowymiarowe rozkłady prawdopodobieństwa 382 15.2.3. Zmienne losowe wielowymiarowe 386 15.3. Przykładowe eksperymenty symulacyjne 390 15.3.1. Badanie mocy testu Shapiro–Wilka 391 15.3.2. Własności estymatorów parametrów rozkładu Gamma 392 15.3.3. Całkowanie Monte Carlo 396 15.3.4. Kroswalidacja klasyfikatora 398 V Zagadnienia progresywne 401 16. Zarządzenie środowiskiem R 403 16.1. Podstawowe informacje 403 16.1.1. Dane o środowisku R 403 16.1.2. Dane o systemie 406 16.1.3. Uruchamianie i zamykanie środowiska R 407 16.1.4. Historia poleceń 408 16.2. Opcje globalne 408 16.3. Ustawienia lokalizacyjne 412 16.4. Powiększanie możliwości środowiska R 415 16.4.1. Instalacja i aktualizacja zestawów 416 16.4.2. Powodowanie innych programów 421 16.5. Zarządzanie pamięcią 422 16.5.1. Informacja o wymiarze obiektów 422 16.5.2. Kopiowanie na żądanie 424 16.5.3. Samoczynne odśmiecanie pamięci 425 16.6. Wariant podstawowy, tryb a klasa obiektów 425 17. Środowiska 428 17.1.Środowiska jako zbiory obiektów 428 17.1.1. Podstawowe operacje na obiektach w środowisku 429 17.1.2. Środowiska a listy 431 17.1.3. Przekazywanie środowisk funkcjom 433 17.2. Wskaźniki na środowiska otaczające 435 17.2.1. Przypadek ręcznie stworzonych środowisk 435 17.2.2. ´Ścieżka wyszukiwania 436 17.2.3. Przestrzenie nazw i środowiska eksportowane przez zestawy 441 18. Syntaktyka i semantyka języka R 442 18.1. Obiekty reprezentujące wyrażenia języka R 442 18.1.1. Parser 443 18.1.2. Cytowanie 446 18.1.3. Wywołania, czyli wyrażenia złożone 446 18.2. Środowiskowy model obliczeń 451 18.2.1. Ewaluacja wyrażeń 452 18.2.2. Bieżące środowisko ewaluacyjne 454 18.3. Ewaluacja wyrażeń w obrębie funkcji 457 18.3.1. Lokalne środowiska ewaluacyjne 459 18.3.2. Środowiska otaczające lokalne środowiska ewaluacyjne 460 18.3.3. Środowiska wywołujące 464 18.3.4. Ewaluacja argumentów 465 18.4. Formuły 471 18.4.1. Przykłady funkcji stosujących argumenty rodzaju formuła 471 18.4.2. Formuły jako wywołania 473 18.4.3. Przetwarzanie formuł 474 19. Programowanie zorientowane obiektowo 476 19.1. Paradygmaty programowania obiektowego 476 19.2. Klasy S3 478 19.2.1. Określanie klasy obiektu 479 19.2.2. Ekspediowanie metod 479 19.2.3. Przeciążanie metod 482 19.3. Klasy S4 483 19.3.1. Definiowanie klas i tworzenie obiektów 484 19.3.2. Definiowanie funkcji generycznych i metod 487 19.4. Klasy referencyjne (RC) 491 19.5. Specjalne typy funkcji 492 19.5.1. Funkcje podstawieniowe 492 19.5.2. Przeciążanie operatorów 494 19.5.3. Wbudowane grupy funkcji generycznych 495 20. Integracja R i C++ przy użyciu pakietu Rcpp 498 20.1. Wprowadzenie 499 20.1.1. Tryby pracy z Rcpp 499 20.1.2. Podstawy składni języka C++ 503 20.2. Operacje na wektorach atomowych 509 20.2.1. Dostęp do wektorów 509 20.2.2. Tworzenie wektorów 512 20.2.3. Kopiowanie płytkie i głębokie 513 20.2.4. Braki danych 515 20.2.5. Przegląd funkcji z R/C API 517 20.2.6. Przegląd funkcji i metod z kompletu Rcpp 520 20.3. Operacje na pozostałych typach obiektów 521 20.3.1. Listy 521 20.3.2. Funkcje 523 20.3.3. Parametry obiektów 524 20.3.4. Obiekty typów złożonych 525 20.3.5. Wskaźniki 527 Bibliografia 532 Skorowidz 537
Opinie i recenzje użytkowników
Dodaj opinie lub recenzję dla Programowanie w języku r. Twój komentarz zostanie wyświetlony po moderacji.