www.zak24.pl
INTERNETOWA KSIĘGARNIA NAUKOWO - AKADEMICKA

Przewodnik po pakiecie R

54,99  (w tym 5% VAT)

Wydanie IV rozszerzone

Wrocław 2017, str. 395

ISBN 9788362780440

Opis

Przewodnik po pakiecie R

Wydawnictwo: GIS

Autorzy: Przemysław Biecek

 

R jest uniwersalnym narzędziem analizy danych. Jest całkowicie bezpłatny, ma olbrzymie możliwości, jest powszechnie używany w akademii i w biznesie. Znajomość tego języka przyda się każdemu, kto chce pracować z danymi.

,,Przewodnik po pakiecie R”, to podręcznik do nauki języka programowania oraz kluczowych bibliotek programu R. Skonstruowany na zasadzie od zera do bohatera. Rozpoczynamy od wprowadzenia dla osób zaczynających przygodę z R od podstaw. W kolejnych rozdziałach wprowadzamy coraz bardziej złożone wątki z obszaru Data Science, takie jak praca z bazami danych, tworzenie raportów, własnych pakietów, modelowanie statystyczne oraz narzędzia do tworzenia treściwych i czytelnych wykresów. Łącznie omawiamy ponad 500 funkcji, setki wykresów i przykładów kodów R.

 

Spis treści

1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1. Data science, czyli dlaczego warto pozna´c R . . . . . . . . . . . . 1

1.2. Jak wygl ˛ada praca z programem R . . . . . . . . . . . . . . . . . . 4

1.2.1. Przykład: Pozycja Polski w rankingu FIFA . . . . . . . . . 5

1.3. Jak przygotowa´c ´srodowisko pracy . . . . . . . . . . . . . . . . . . 7

1.3.1. Instalacja podstawowego ´srodowiska R . . . . . . . . . . . 8

1.3.2. Instalacja edytora RStudio . . . . . . . . . . . . . . . . . . . 9

1.3.3. Instalacja dodatkowych pakietów . . . . . . . . . . . . . . 11

1.4. Gdzie szuka´c dalszych informacji . . . . . . . . . . . . . . . . . . . 13

2. Podstawy pracy z R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1. Wczytywanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2. Struktury danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.1. Wektory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.2. Ramki danych . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.3. Listy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3. Statystyki opisowe . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.1. Zmienne ilo´sciowe . . . . . . . . . . . . . . . . . . . . . . . 25

2.3.2. Zmienne jako´sciowe . . . . . . . . . . . . . . . . . . . . . . 26

2.4. Statystyki graficzne . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.1. Wykres słupkowy . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.2. Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.3. Wykres pudełkowy . . . . . . . . . . . . . . . . . . . . . . . 31

2.4.4. J ˛adrowy estymator g ˛esto´sci . . . . . . . . . . . . . . . . . . 32

2.4.5. Wykres kropkowy . . . . . . . . . . . . . . . . . . . . . . . 35

2.4.6. Wykres mozaikowy . . . . . . . . . . . . . . . . . . . . . . 36

2.5. Jak przetwarza´c dane z pakietem dplyr . . . . . . . . . . . . . . . 38

2.5.1. Jak filtrowa´c wiersze . . . . . . . . . . . . . . . . . . . . . . 39

2.5.2. Jak wybiera´c kolumny . . . . . . . . . . . . . . . . . . . . . 40

2.5.3. Jak tworzy´c i transformowa´c zmienne . . . . . . . . . . . . 40

2.5.4. Jak sortowa´c wiersze . . . . . . . . . . . . . . . . . . . . . . 41

2.5.5. Jak pracowa´c z potokami . . . . . . . . . . . . . . . . . . . 42

2.5.6. Jak wyznacza´c agregaty/statystyki w grupach . . . . . . . 45

2.5.7. Posta´c szeroka/posta´c w ˛aska . . . . . . . . . . . . . . . . . 47

2.5.8. Sklejanie/rozcinanie kolumn . . . . . . . . . . . . . . . . . 49

2.6. Jak wczyta´c i zapisa´c dane w róznych formatach . . . . . . . . . . 50 ˙

2.6.1. Wczytywanie danych z pakietów . . . . . . . . . . . . . . . 50

2.6.2. Wczytywanie danych z plików tekstowych . . . . . . . . . 51

2.6.3. Zapisywanie danych do pliku tekstowego . . . . . . . . . 57

2.6.4. Wczytywanie i zapisywanie z zastosowaniem formatu JSON 58

2.6.5. Wczytywanie danych w formatach HTML i XML . . . . . 60

2.6.6. Inne formaty plików tekstowych . . . . . . . . . . . . . . . 60

2.6.7. Wczytywanie danych z plików Excela . . . . . . . . . . . . 62

2.6.8. Wczytywanie danych z SPSS’a . . . . . . . . . . . . . . . . 64

2.6.9. Wczytywanie danych z programu Matlab . . . . . . . . . . 65

2.6.10. Wczytywanie danych z SAS . . . . . . . . . . . . . . . . . . 66

2.6.11. Inne funkcje do importu danych . . . . . . . . . . . . . . . 66

2.7. Automatyczne raporty, powtarzalne badania . . . . . . . . . . . . 67

2.7.1. Pakiet knitr, markdown a raporty w HTML . . . . . . . . 68

2.7.2. Prezentacje w HTML5 . . . . . . . . . . . . . . . . . . . . . 72

2.7.3. Pakiet Sweave a raporty w j ˛ezyku LATEX . . . . . . . . . . . 74

3. Niezb˛ednik programisty . . . . . . . . . . . . . . . . . . . . . . . . . . 79

3.1. Instrukcje steruj ˛ace . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3.1.1. Jak tworzy´c funkcje . . . . . . . . . . . . . . . . . . . . . . . 80

3.1.2. Jak stosowa´c instrukcje warunkowe . . . . . . . . . . . . . 85

3.1.3. Jak budowa´c p ˛etle . . . . . . . . . . . . . . . . . . . . . . . 88

3.2. Jak pracowa´c z bazami danych . . . . . . . . . . . . . . . . . . . . 92

3.2.1. Jak pracowa´c z baz ˛a danych SQLite . . . . . . . . . . . . . 93

3.2.2. Jak pracowa´c z wi ˛ekszymi relacyjnymi bazami danych . . 94

3.2.3. Jak uzywa´c pakietu ˙ dplyr w pracy z bazami danych . . . 96

3.3. Budowa aplikacji WWW z pakietem shiny . . . . . . . . . . . . . 98

3.3.1. Jak wygl ˛ada model akcja–reakcja . . . . . . . . . . . . . . . 99

3.3.2. Jak opisa´c interfejs uzytkownika . . . . . . . . . . . . . . . 99 ˙

3.3.3. Jak opisa´c przetwarzanie na serwerze . . . . . . . . . . . . 100

3.3.4. Jak dodawa´c kontrolki steruj ˛ace . . . . . . . . . . . . . . . 102

3.4. Budowanie własnych pakietów . . . . . . . . . . . . . . . . . . . . 105

3.4.1. Niezb ˛edne oprogramowanie . . . . . . . . . . . . . . . . . 106

3.4.2. Jak wygl ˛ada struktura pakietu . . . . . . . . . . . . . . . . 106

3.4.3. Jak stworzy´c nowy pakiet . . . . . . . . . . . . . . . . . . . 107

3.4.4. Plik DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . 108

3.4.5. Jak dodawa´c funkcje do pakietu . . . . . . . . . . . . . . . 109

3.4.6. Jak dodawa´c zbiory danych do pakietu . . . . . . . . . . . 111

3.4.7. Jak dodawa´c testy do pakietu . . . . . . . . . . . . . . . . . 113

3.4.8. Jak budowa´c stworzony pakiet . . . . . . . . . . . . . . . . 115

3.5. Git, GitHub i kontrola wersji . . . . . . . . . . . . . . . . . . . . . 117

3.5.1. Jak kopiowa´c repozytorium – clone . . . . . . . . . . . . . 117

3.5.2. Jak dodawa´c zmiany – commit . . . . . . . . . . . . . . . . 119

3.6. Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

3.6.1. Co mogłoby pój´s´c ´zle? . . . . . . . . . . . . . . . . . . . . . 119

3.6.2. Bł ˛edy i ostrzezenia . . . . . . . . . . . . . . . . . . . . . . . 120 ˙

3.6.3. Co mozna zrobi´c post-mortem – funkcja ˙ traceback() . . 120

3.6.4. Jak zastawi´c pułapk ˛e – funkcja recover() . . . . . . . . . 121

3.6.5. Jak ´sledzi´c krok po kroku – funkcja debug() . . . . . . . . 122

3.6.6. Jak ignorowa´c bł ˛edy – funkcja try() . . . . . . . . . . . . 123

3.6.7. Zaokr ˛aglenia numeryczne – studium przypadku . . . . . 124

3.7. Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

3.7.1. Jak mierzy´c czas działania bloku instrukcji . . . . . . . . . 125

3.7.2. Jak mierzy´c czas co do milisekundy . . . . . . . . . . . . . 126

3.7.3. Jak szuka´c w ˛askich gardeł . . . . . . . . . . . . . . . . . . . 127

3.7.4. Jak przedstawia´c graficznie wyniki profilowania . . . . . . 130

3.7.5. Jak zrównolegla´c obliczenia . . . . . . . . . . . . . . . . . . 130

3.7.6. Jak zwi ˛eksza´c wydajno´s´c R . . . . . . . . . . . . . . . . . . 135

3.8. Wi ˛ecej o obiektach w R . . . . . . . . . . . . . . . . . . . . . . . . . 138

3.8.1. Funkcje polimorficzne i klasy S3 . . . . . . . . . . . . . . . 138

3.8.2. Tworzenie własnych operatorów . . . . . . . . . . . . . . . 140

3.8.3. Obiekty wywoła ´n funkcji . . . . . . . . . . . . . . . . . . . 140

3.8.4. Leniwa ewaluacja . . . . . . . . . . . . . . . . . . . . . . . . 141

3.8.5. Zasi ˛eg symboli w przestrzeniach nazw . . . . . . . . . . . 143

3.8.6. Współdzielona przestrze ´n nazw . . . . . . . . . . . . . . . 145

3.8.7. Obiekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

3.8.8. Klasy S4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

3.8.9. Formuły . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

3.9. Inne przydatne funkcje . . . . . . . . . . . . . . . . . . . . . . . . . 153

3.9.1. Rodzina funkcji *apply . . . . . . . . . . . . . . . . . . . . 154

3.9.2. Pakiety plyr i reshape2 . . . . . . . . . . . . . . . . . . . . 157

3.9.3. Funkcje systemowe . . . . . . . . . . . . . . . . . . . . . . . 161

3.9.4. Operacje na plikach i katalogach . . . . . . . . . . . . . . . 162

4. Niezb˛ednik statystyka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

4.1. Generatory liczb losowych . . . . . . . . . . . . . . . . . . . . . . . 166

4.1.1. Wprowadzenie do generatorów liczb pseudolosowych . . 166

4.1.2. Popularne rozkłady zmiennych losowych . . . . . . . . . . 168

4.1.3. Wybrane metody generowania zmiennych losowych . . . 175

4.1.4. Estymacja parametrów rozkładu . . . . . . . . . . . . . . . 186

4.2. Wst ˛epne przetwarzanie danych . . . . . . . . . . . . . . . . . . . . 186

4.2.1. Brakuj ˛ace obserwacje . . . . . . . . . . . . . . . . . . . . . . 187

4.2.2. Normalizacja, skalowanie i transformacje nieliniowe . . . 191

4.3. Analiza wariancji, regresja liniowa i logistyczna . . . . . . . . . . 195

4.3.1. Wprowadzenie do analizy wariancji . . . . . . . . . . . . . 196

4.3.2. Analiza jednoczynnikowa . . . . . . . . . . . . . . . . . . . 197

4.3.3. Analiza wieloczynnikowa . . . . . . . . . . . . . . . . . . . 206

4.3.4. Regresja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

4.3.5. Wprowadzenie do regresji logistycznej . . . . . . . . . . . 226

4.4. Testowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

4.4.1. Testowanie zgodno´sci . . . . . . . . . . . . . . . . . . . . . 244

4.4.2. Testowanie hipotezy o równo´sci parametrów połozenia . 251 ˙

4.4.3. Testowanie hipotezy o równo´sci parametrów skali . . . . 256

4.4.4. Testowanie hipotez dotycz ˛acych wska´znika struktury . . 258

4.4.5. Testy istotno´sci zalezno´sci pomi ˛edzy dwoma zmiennymi 260 ˙

4.4.6. Testowanie zbioru hipotez . . . . . . . . . . . . . . . . . . . 269

4.4.7. Rozkład statystyki testowej . . . . . . . . . . . . . . . . . . 272

4.5. Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

4.5.1. Rozkład i obci ˛azenie estymatorów . . . . . . . . . . . . . . 277 ˙

4.5.2. Testy bootstrapowe . . . . . . . . . . . . . . . . . . . . . . . 280

4.6. Analiza przezycia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 ˙

4.6.1. Krzywa przezycia . . . . . . . . . . . . . . . . . . . . . . . . 282 ˙

4.6.2. Model Coxa . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

4.7. Wybrane funkcje matematyczne . . . . . . . . . . . . . . . . . . . 287

4.7.1. Operacje na zbiorach . . . . . . . . . . . . . . . . . . . . . . 287

4.7.2. Operacje arytmetyczne . . . . . . . . . . . . . . . . . . . . . 288

4.7.3. Wielomiany . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

4.7.4. Bazy wielomianów ortogonalnych . . . . . . . . . . . . . . 291

4.7.5. Szukanie maksimum/minimum/zer funkcji . . . . . . . . 293

4.7.6. Rachunek rózniczkowo–całkowy . . . . . . . . . . . . . . . 294 ˙

5. Graficzna prezentacja danych . . . . . . . . . . . . . . . . . . . . . . . . 296

5.1. Znajd´z siedem róznic . . . . . . . . . . . . . . . . . . . . . . . . . . 297 ˙

5.2. Jak zapisa´c wykres do pliku . . . . . . . . . . . . . . . . . . . . . . 298

5.3. Pakiet lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

5.3.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . 301

5.3.2. Szablony dla wykresów . . . . . . . . . . . . . . . . . . . . 301

5.3.3. Formuły i wybór zmiennych . . . . . . . . . . . . . . . . . 305

5.3.4. Panele i mechanizm warunkowania . . . . . . . . . . . . . 305

5.3.5. Mechanizm grupowania . . . . . . . . . . . . . . . . . . . . 306

5.3.6. Legenda wykresu . . . . . . . . . . . . . . . . . . . . . . . . 306

5.3.7. Atlas funkcji graficznych z pakietu lattice . . . . . . . . 308

5.3.8. Wi ˛ecej o panelach . . . . . . . . . . . . . . . . . . . . . . . . 318

5.3.9. Motywy i parametry graficzne . . . . . . . . . . . . . . . . 321

5.3.10. Zaawansowane opcje . . . . . . . . . . . . . . . . . . . . . . 321

5.4. Pakiet ggplot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

5.4.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . 326

5.4.2. Warstwy wykresu . . . . . . . . . . . . . . . . . . . . . . . 327

5.4.3. Mapowanie zmiennych na atrybuty wykresu . . . . . . . . 329

5.4.4. Geometria warstwy . . . . . . . . . . . . . . . . . . . . . . 332

5.4.5. Statystyki i agregacje . . . . . . . . . . . . . . . . . . . . . . 334

5.4.6. Mechanizm warunkowania . . . . . . . . . . . . . . . . . . 335

5.4.7. Kontrola skal . . . . . . . . . . . . . . . . . . . . . . . . . . 337

5.4.8. Układ współrz ˛ednych i osie wykresu . . . . . . . . . . . . 339

5.4.9. Motywy i kompozycje graficzne . . . . . . . . . . . . . . . 340

5.4.10. Pozycjonowanie wykresów na rysunku . . . . . . . . . . . 341

5.4.11. Obiekt klasy gg . . . . . . . . . . . . . . . . . . . . . . . . . 342

5.5. Pakiet graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

5.5.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . 344

5.5.2. Funkcja plot() . . . . . . . . . . . . . . . . . . . . . . . . . 347

5.5.3. Funkcja matplot() . . . . . . . . . . . . . . . . . . . . . . . 348

5.5.4. Osie wykresu . . . . . . . . . . . . . . . . . . . . . . . . . . 348

5.5.5. Legenda wykresu . . . . . . . . . . . . . . . . . . . . . . . . 349

5.5.6. Funkcja image() . . . . . . . . . . . . . . . . . . . . . . . . 350

5.5.7. Wyrazenia matematyczne . . . . . . . . . . . . . . . . . . . 351 ˙

5.5.8. Kolory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

5.5.9. Wła´sciwo´sci linii . . . . . . . . . . . . . . . . . . . . . . . . 354

5.5.10. Wła´sciwo´sci punktów/symboli . . . . . . . . . . . . . . . . 355

5.5.11. Atomowe, niskopoziomowe funkcje graficzne . . . . . . . 355

5.5.12. Tytuł, podtytuł i opisy osi wykresu . . . . . . . . . . . . . 356

5.5.13. Pozycjonowanie wykresu, wiele wykresów na rysunku . . 360

5.5.14. Wykres słonecznikowy . . . . . . . . . . . . . . . . . . . . . 361

5.5.15. Wykresy kropkowe, dwu- i wielowymiarowe . . . . . . . 362

5.5.16. Wykres macierzy korelacji . . . . . . . . . . . . . . . . . . . 364

5.5.17. Wykres konturowy . . . . . . . . . . . . . . . . . . . . . . . 364

5.5.18. Wykres koniczyny . . . . . . . . . . . . . . . . . . . . . . . 366

5.5.19. Wielowymiarowy, j ˛adrowy estymator g ˛esto´sci . . . . . . . 366

5.5.20. Wykresy konturowe . . . . . . . . . . . . . . . . . . . . . . 368

5.5.21. Wykres mapa ciepła . . . . . . . . . . . . . . . . . . . . . . 368

5.5.22. Wykres profili obserwacji . . . . . . . . . . . . . . . . . . . 369

5.5.23. Parametry graficzne . . . . . . . . . . . . . . . . . . . . . . 370

5.6. Pakiet rCharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

5.6.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . 374

5.6.2. Biblioteka NVD3 . . . . . . . . . . . . . . . . . . . . . . . . . 374

5.6.3. Biblioteka Leaflet . . . . . . . . . . . . . . . . . . . . . . . 376

5.6.4. Inne szablony . . . . . . . . . . . . . . . . . . . . . . . . . . 378

Opis zbiorów danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

Skorowidz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „Przewodnik po pakiecie R”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *