Idź do
• Spis treści
• Przykładowy rozdział
• Skorowidz
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
© Helion 1991–2011
Katalog książek
Twój koszyk
Cennik i informacje
Czytelnia
Kontakt
Analiza statystyczna
w środowisku R dla
początkujących
Autor: John M. Quick
Tłumaczenie: Jacek Janusz
ISBN: 978-83-246-3409-5
Tytuł oryginału:
Format: 170×230, stron: 280
Dowiedz się, jak zwiększyć skuteczność analiz danych dzięki R!
• Jak rozpocząć przygodę ze środowiskiem R?
• Jak przeprowadzić analizę w środowisku R?
• Jak przygotować elegancki wykres?
Na wyrażenie „analiza statystyczna” spora grupa studentów dostaje nerwowych drgawek,
a fascynatom rozszerzają się oczy. Ta dziedzina nauki budzi skrajne emocje. Skomplikowana,
czasochłonna, wymaga dużej ilości obliczeń, jednak dostarcza istotnych informacji, których
właściwą interpretację można przekuć w sukces w różnych dziedzinach życia. Statystyka,
tak jak każda inna dyscyplina, dzięki postępującej informatyzacji otrzymała ogromne wsparcie
w postaci specjalistycznego oprogramowania. Ta książka poświęcona została środowisku R,
którego możliwości w stosunku do ceny są naprawdę imponujące, ponieważ środowisko to jest
darmowe i rozpowszechniane na licencji GPL!
Książka ta jest podręcznikiem dla osób, które chciałyby się zaprzyjaźnić z analizą statystyczną
i środowiskiem R. W trakcie lektury dowiesz się, jak zainstalować i skonfigurować środowisko R,
a potem w nim pracować. Nauczysz się importować dane ze źródeł zewnętrznych, korzystać
z funkcji wieloargumentowych, obliczać średnie, standardowe odchylenia i wiele innych wartości,
typowych dla statystyki. Ponadto błyskawicznie opanujesz sposoby modelowania za pomocą
prostej i wielokrotnej regresji liniowej oraz zobaczysz, jak interpretować wyniki. Poznasz także
zaawansowane mechanizmy tworzenia wykresów, grafów i diagramów oraz odkryjesz najlepsze
źródła informacji na temat środowiska R. Brzmi interesująco? Przekonaj się sam!
• Instalacja środowiska R
• Elementarz użytkownika R
• Importowanie danych zewnętrznych
• Wykorzystanie zmiennych
• Wyświetlanie, zapamiętywanie i odczytywanie zawartości obszaru roboczego
• Funkcje wieloargumentowe i o zmiennej liczbie argumentów
• Średnie, standardowe odchylenia, zakresy
• Prosta i wielokrotna regresja liniowa
• Interpretacja zmiennych interakcyjnych
• Prognozowanie wyników za pomocą modeli regresji
• 5 kroków do przeprowadzenia analizy w środowisku R
• Tworzenie wykresów, grafów i diagramów
• Przydatne zasoby w sieci
Zaprzyjaźnij się z analizą statystyczną!
Spis treci
O autorze
5
O recenzentach
7
Wprowadzenie
9
Zagadnienia poruszane w ksice
9
Czego potrzebujesz do przeczytania tej ksiki?
10
Dla kogo jest przeznaczona ta ksika?
10
Konwencje
11
Pomoc techniczna
12
Rozdzia 1. Odkrywanie narzdzia analizy danych
15
Co to jest R?
16
Jakie s korzyci z uywania rodowiska R?
16
Dlaczego powinienem uywa rodowiska R?
17
Dlaczego powinienem przeczyta t ksik?
17
Jakie zagadnienia zostan poruszone w tej ksice?
18
Podsumowanie
25
Rozdzia 2. Przygotowanie rodowiska R do bitwy
27
Rozdzia 3. Odkrywanie tajemniczego narzdzia analizy danych
41
Opis magicznego kwadratu Zhuge Lianga
42
Podsumowanie
48
Rozdzia 4. Gromadzenie i porzdkowanie informacji
49
Spis
treci
4
Rozdzia 5. Ocenianie sytuacji
69
Analiza naszych danych
71
Regresja
87
Podsumowanie
106
Rozdzia 6. Planowanie ataku
107
Przegld modeli
107
Prognozowanie wyników za pomoc modeli regresji
112
Rozwaania logistyczne
120
Ocenianie szans realizacji strategii
124
Podsumowanie
128
Rozdzia 7. Przygotowywanie planów bitwy
129
Przegld i doprecyzowanie penej analizy
129
Czynnoci wspólne dla wszystkich analiz przeprowadzanych w rodowisku R
147
Podsumowanie
152
Rozdzia 8. Odprawa u Imperatora
153
Wykresy, grafy i diagramy w rodowisku R
153
Podsumowanie
185
Rozdzia 9. Odprawa u generaów
187
Wicej wykresów, grafów i diagramów w rodowisku R
188
Podsumowanie
251
Rozdzia 10. Bd mistrzem strategii
253
Zasoby dostpne w rodowisku R
253
Zasoby rodowiska R dostpne w internecie
262
Podsumowanie
265
Dodatek A. Sprawdzian — odpowiedzi na pytania
267
Skorowidz
273
4
Gromadzenie
i porzdkowanie
informacji
Gdy dziki rozwizaniu amigówki Zhuge Lianga, udao Ci si zaprezentowa swoje umiejtnoci,
jego pomocnik dostarczy Ci dokumenty opisujce zasoby armii Shu. Zawieraj one dane o zocie,
wyposaeniu oraz onierzach. Zanim przystpisz do ich analizowania w rodowisku R, musisz je
najpierw odpowiednio przygotowa i uporzdkowa. Dziki temu Twoje kolejne dziaania bd
bardziej zrozumiae i sprawne.
W tym rozdziale skoncentrujemy si na gromadzeniu i porzdkowaniu istniejcych informa-
cji. Podczas tych dziaa zapoznasz si z kilkoma nowymi technikami dostpnymi w rodowi-
sku R. Pod koniec tego rozdziau bdziesz móg wykonywa nastpujce czynnoci:
Q
Importowa dane zewntrzne do rodowiska R.
Q
Uywa zmiennych w celu porzdkowania i przetwarzania swoich danych.
Q
Zarzdza obszarem roboczym R.
Czas na dziaanie — importowanie danych zewntrznych
Naszym pierwszym zadaniem bdzie wczytanie do rodowiska R zewntrznych danych z in-
formacjami o zasobach. Aby je wykona, otwórz konsol R i postpuj zgodnie z poniszymi
instrukcjami:
Analiza statystyczna w rodowisku R dla pocztkujcych
50
1.
Zdefiniuj katalog roboczy rodowiska R za pomoc funkcji
setwd(dir)
. cieka
uyta w poniszym kodzie jest przykadowa. Katalog roboczy w Twoim komputerze
powinien zosta zdefiniowany w odpowiedniej dla niego lokalizacji.
> #zdefiniuj katalog roboczy rodowiska R
> #zastp przykadow ciek tak, która jest odpowiednia dla Ciebie
> setwd("C:/Users/RUser/Strateg/")
2.
Skopiuj plik zasobyHanzhong.csv do swojego katalogu roboczego. Plik ten zawiera
informacje o zasobach dotyczcych armii królestwa Shu, która obecnie stacjonuje
w miecie Hanzhong.
3.
Wczytaj plik z zasobami do rodowiska R za pomoc polecenia
read.csv(file)
:
> #uyj polecenia read.csv(file), by wczyta zewntrzny plik z danymi do
´rodowiska R
> #plik zawiera informacje o zasobach królestwa Shu znajdujcych si
´w miecie Hanzhong w Chinach
> read.csv("zasobyHanzhong.csv")
4.
rodowisko R odczyta i wywietli zawarto tego pliku, a wynik bdzie wyglda
jak na poniszym rysunku:
Dane te zawieraj informacje, zgodnie z którymi Twoje siy w Hanzhong dysponuj obecnie
zasobami zota w liczbie 1 000 000 sztuk, zestawami zapasów take w liczbie 1 000 000 sztuk,
a ponadto posiadaj 100 000 onierzy oraz wyposaenie, które jest w doskonaym stanie.
Co si zdarzyo?
Po zdefiniowaniu katalogu roboczego zapoznae si z now funkcj. Jej skadnia róni si od
skadni polece, które do tej pory poznae.
read.csv(file)
Nazwa funkcji
read.csv(file)
zawiera znak kropki, który znajduje si midzy okreleniem
read
a atrybutem
csv
. Termin
csv
„informuje” funkcj
read
o tym, e dane w naszym pliku
skadaj si z wartoci oddzielonych od siebie przecinkami. Wane jest, aby wiedzie, jakiego
rodzaju funkcji
read
powinnimy uywa, poniewa moe istnie kilka alternatywnych form
tej funkcji, np.
read.S
lub
read.SPSS
.
Element
file
funkcji
read.csv(file)
jest podobny do skadnika
dir
w funkcji
setwd(dir)
.
Poniewa umiecilimy plik z danymi w naszym katalogu roboczym, argument
file
powinien
zawiera jedynie nazw pliku oraz jego rozszerzenie. Jeli dane zostayby umieszczone w in-
nej lokalizacji, naleaoby poda pen ciek dostpu do pliku.
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
51
Pliki z wartociami oddzielonymi przecinkami (csv)
W tej ksice bdziemy wykorzystywa pliki danych zawierajce wartoci oddzielone prze-
cinkami, zwane inaczej plikami CSV. Jest to zalecany rodzaj plików sucy do importowania
danych do rodowiska R. Powiniene wiedzie, e R moe odczytywa dane z wielu rodzajów ró-
de. Zazwyczaj bdziesz móg zaimportowa dane z dowolnego róda, którego wanie uywasz.
Sprawdzian
1.
Jaka jest zasadnicza rónica midzy argumentami
dir
i
file
?
a) Argument
dir
zawiera ciek, a argument
file
zawiera nazw pliku.
b) Argument
dir
zawiera ciek do katalogu, natomiast argument
file
zawiera
ciek do pliku.
c) Funkcje, których nazwy rozpoczynaj si od
read
, uywaj argumentu
file
,
natomiast funkcje, których nazwy rozpoczynaj si od
set
, uywaj argumentu
dir
.
d) Nie ma rónicy midzy argumentami
dir
i
file
.
Czas na dziaanie — tworzenie i uywanie zmiennych
Wczytanie danych do rodowiska R pozwala Ci na ich wywietlenie w konsoli oraz uycie
w celu wykonania podrcznych oblicze (jak uczynilimy w rozdziale 3.). Zasadniczo potrzebujesz
jednak bardziej uporzdkowanej i uniwersalnej metody pozwalajcej na manipulowanie danymi.
W tym celu moesz uy zmiennych rodowiska R. Zamiast jedynie wczyta do rodowiska R
nasz plik z zasobami, spróbujmy tym razem odczyta i zapisa dane w zmiennej:
1.
Uyj nastpujcego kodu w celu zapisania danych z pliku zasobów w zmiennej
o nazwie
hanzhongResources
:
> #wczytaj dane z pliku zasobyHanzhong.csv do zmiennej o nazwie
´hanzhongResources
> hanzhongResources <- read.csv("zasobyHanzhong.csv")
2.
Zwró uwag na to, e rodowisko R nie wywietlio adnego rezultatu po
wykonaniu powyszej czynnoci i po prostu udostpnio nowy wiersz w konsoli.
Aby sprawdzi, jaka jest zawarto naszej nowej zmiennej, musimy j wywoa
poprzez podanie jej nazwy w konsoli R.
> #wywietl zawarto zmiennej hanzhongResources
> #zasoby królestwa Shu w miecie Hanzhong w Chinach
> hanzhongResources
3.
rodowisko R wywietli zawarto zmiennej:
Analiza statystyczna w rodowisku R dla pocztkujcych
52
Prawdopodobnie zauwaye, e wywoanie zmiennej
hanzhongResources
powoduje powsta-
nie takiego samego wyniku, jak wczytanie pierwotnego pliku CSV do rodowiska R. Uycie
zmiennej jest jednake duo bardziej efektywne, poniewa nie musimy podawa caego pole-
cenia
read.csv(file)
za kadym razem, gdy chcemy wywietli jej zawarto. Zamiast tego
moemy po prostu wprowadzi nazw zmiennej.
Co si zdarzyo?
W rodowisku R utworzye swoj pierwsz zmienn i jej uye. Zmienne s niezbdne do
przechowywania i przetwarzania danych. Gdy zamierzasz utworzy zmienn w rodowisku R,
musisz za kadym razem postpi podobnie jak w ostatnim wiczeniu. Oto cztery etapy pro-
cesu tworzenia zmiennej:
1.
Rozpocznij, podajc nazw zmiennej
W naszym poprzednim przykadzie cig znaków
hanzhongResources
by nazw
zmiennej. Nazwa powinna by pierwszym elementem, który pojawi si w nowym
wierszu konsoli podczas tworzenia zmiennej w rodowisku R.
2.
Dodaj znak mniejszoci oraz minus (
<-
)
Po nazwie zmiennej powinny zosta dodane dwa symbole: znak mniejszoci oraz
minus (
<-
)
1
. Moesz przyj, e symbol
<-
ma nastpujce znaczenie: „zostaa
przypisana warto”. W wyniku jego uycia informacja znajdujca si po prawej
stronie symbolu
<-
zostaje przypisana do zmiennej lecej po jego lewej stronie.
Na przykad wiersz
> A <- B
moe zosta odczytany jako „zmiennej o nazwie A
zostaa przypisana warto zmiennej B”. Wynika std, e w naszym poprzednim
przykadzie przypisalimy zmiennej o nazwie
hanzhongResources
zawarto pliku
zasobyHanzhong.csv
.
3.
Dodaj ródo danych
W naszym przykadzie uyte zostao ródo danych
zasobyHanzhong.csv
. ródo
danych powinno by ostatnim skadnikiem wprowadzonym w wierszu konsoli
podczas tworzenia zmiennej w rodowisku R. róda danych s zazwyczaj zbiorami
danych, które s wczytywane do rodowiska R, wartociami numerycznymi lub
wczeniej utworzonymi zmiennymi.
4.
Sprawd zawarto zmiennej
Gdy po zatwierdzeniu wiersza z kodem rodowisko R nie wywietla adnego
widocznego wyniku, tak jak ma to miejsce w przypadku tworzenia nowej zmiennej,
rozsdn czynnoci jest zweryfikowanie wyniku naszych dziaa. Aby wywietli
zawarto zmiennej, wprowad w konsoli R jej nazw, a nastpnie nacinij klawisz
Enter. W naszym przypadku zatwierdzenie cigu znaków
hanzhongResources
spowoduje wywietlenie w konsoli zasobów armii królestwa Shu stacjonujcej
w Chinach w miecie Hanzhong.
1
Zamiast <- mona te uywa zwykego znaku równoci — przyp. tum.
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
53
Sprawdzian
1.
Które z poniszych stwierdze nie okrela zalety przechowywania wyniku funkcji
read.csv(file)
w zmiennej?
a) Nazwa zmiennej jest atwiejsza do wprowadzenia.
b) Nazwa zmiennej jest atwiejsza do zapamitania.
c) Dane zapamitane w zmiennej nie zostan utracone nawet wówczas, gdy pierwotny
plik CSV zostanie przeniesiony lub usunity.
d) Zmienna wskazuje jawnie na swoje ródo danych.
2.
Opisz sowami znaczenie poniszego wiersza konsoli rodowiska R:
> myVariable <- myData
a) Zmiennej
myVariable
zostaa przypisana warto zmiennej
myData
.
b) Zmiennej
myData
zostaa przypisana warto zmiennej
myVariable
.
c) Warto zmiennej
myVariable
jest mniejsza ni negacja zmiennej
myData
.
d) Warto zmiennej
myVariable
jest wiksza ni zero oraz mniejsza ni negacja
zmiennej
myData
.
Do przewiczenia
Znasz ju proces kryjcy si za tworzeniem nowej zmiennej w rodowisku R. Plik onierze
´WMiastach.csv zawiera informacje o cakowitej liczbie onierzy rozmieszczonych w kadym
z wikszych miast na terytorium królestw Shu i Wei. Skopiuj ten plik do swojego katalogu robo-
czego. Nastpnie wykonaj czteroetapow procedur umoliwiajc stworzenie i sprawdzenie
wartoci nowej zmiennej o nazwie
soldiersByCity
. Ta zmienna powinna zawiera wszystkie dane
znajdujce si w pliku onierzeWMiastach.csv.
Czas na dziaanie — dostp do danych w zmiennych
Obie nasze zmienne
hanzhongResources
i
soldiersByCity
zawieraj cay zbiór wartoci (w przeci-
wiestwie do pojedynczej wartoci). Wiemy ju, e wprowadzenie nazwy zmiennej w konsoli R
spowoduje wywietlenie jej zawartoci na ekranie. Jednake w przypadku zbioru danych czsto
chcemy mie dostp do okrelonych kolumn, wierszy i komórek, aby móc przeprowadza
obliczenia.
Rozpoczniemy od przetestowania dwóch metod pozwalajcych na uzyskanie dostpu do ko-
lumn w naszej zmiennej
soldiersByCity
:
1.
Najpierw uzyskamy dostp do zawartej w zmiennej
soldiersByCity
kolumny
onierze
poprzez uycie notacji
zmienna$kolumna
:
> #wyodrbnij pojedyncz kolumn ze zbioru danych poprzez uycie notacji
´zmienna$kolumna
> #wywietl zawarto kolumny onierze ze zmiennej soldiersByCity
> soldiersByCity$onierze
Analiza statystyczna w rodowisku R dla pocztkujcych
54
2.
rodowisko R wywietli zawarto kolumny
onierze
. Na poniszym rysunku
przedstawiono wynik operacji.
3.
Tym razem uyjmy funkcji
attach(zmienna)
w celu uproszczenia naszej operacji.
> #wyodrbnij pojedyncz kolumn ze zbioru danych poprzez uycie funkcji
´attach(zmienna) i uproszczonej notacji
> #przycz zmienn soldiersByCity
> attach(soldiersByCity)
> #wywietl zawarto kolumny onierze ze zmiennej soldiersByCity
> onierze
4.
rodowisko R wywietli zawarto kolumny
onierze
.
Obecnie uzyskamy dostp do pojedynczego wiersza ze zmiennej
soldiersByCity
:
5.
Uyj notacji macierzowej
zmienna[wiersz, kolumna]
, aby wywietli zawarto
dziesitego wiersza ze zmiennej
soldiersByCity
:
> #wyodrbnij pojedynczy wiersz ze zbioru danych poprzez uycie notacji
´macierzowej zmienna[wiersz, kolumna]
> #wywietl zawarto dziesitego wiersza ze zmiennej soldiersByCity
> soldiersByCity[10,]
6.
rodowisko R wywietli zawarto dziesitego wiersza ze zbioru danych
soldiersByCity
:
7.
Notacji macierzowej moemy uy w podobny sposób, aby uzyska dostp do
pojedynczego elementu w naszym zbiorze danych. Uyjmy notacji macierzowej,
aby wywietli zawarto elementu
[5, 3]
ze zmiennej
soldiersByCity
:
> #wyodrbnij pojedynczy element ze zbioru danych poprzez uycie notacji
macierzowej zmienna[wiersz, kolumna]
> #wywietl zawarto elementu [5, 3] ze zmiennej soldiersByCity
> soldiersByCity[5, 3]
8.
rodowisko R wywietli zawarto elementu
[5, 3]
, jak pokazano na poniszym
rysunku:
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
55
Co si zdarzyo?
Wanie sprawdzie w praktyce uzyskiwanie dostpu do rónego rodzaju zestawów danych
zawartych w zmiennej, to znaczy kolumn, wierszy i pojedynczych elementów. Przyjrzyjmy si
bliej sposobom, które pozwoliy nam uzyska dostp do danych w zmiennej.
Notacja zmienna$kolumna
Pojedyncze kolumny znajdujce si w zbiorze danych mog sta si dostpne dziki uyciu
notacji
zmienna$kolumna
. Potraktuj znak dolara (
$
) jako odpowiednik sowa „wybra”. W ten
sposób moemy przedstawi notacj za pomoc sów. Na przykad wiersz
> A$B
moe zosta
odczytany jako „ze zmiennej A wybierz kolumn B”. Podczas naszych dziaa wybralimy
kolumn
onierze
ze zmiennej
soldiersByCity
poprzez wprowadzenie nastpujcego kodu
w konsoli R:
> soldiersByCity$onierze
Funkcja attach(zmienna)
Funkcja
attach(zmienna)
pozwala na uproszczenie skomplikowanych notacji w niektórych,
lecz nie we wszystkich przypadkach. Gdy zmienna zostaje przyczona w konsoli rodowiska
R, jej kolumny mog by dostpne po uyciu ich nazw bez potrzeby identyfikowania samej
zmiennej. Na przykad po przyczeniu zmiennej
soldiersByCity
moglimy wywietli za-
warto kolumny
onierze
dziki zwykemu wprowadzeniu wiersza
> onierze
w konsoli.
Ograniczeniem funkcji
attach(zmienna)
jest to, e w danej chwili do konsoli R moe zosta
przyczona tylko pojedyncza zmienna. Jeli na przykad w tym samym czasie przyczyliby-
my obie nasze zmienne
hanzhongResources
i
soldiersByCity
, pojawiby si problem zwizany
z kolumn
onierze
. Obie zmienne zawieraj t kolumn, ale rodowisko R mogoby si odwo-
ywa jedynie do tej zmiennej, która zostaa przyczona póniej. Dostp do drugiej z nich
byby moliwy za pomoc notacji
zmienna$kolumna
. W rzeczywistoci rodowisko R ostrzee
Ci, jeli przyczysz dwie zmienne zawierajce kolumny o tej samej nazwie. Poniszy bd
pojawi si, gdy najpierw przyczona zostanie zmienna
soldiersByCity
, a nastpnie
hanzhong
´Resources
:
Z drugiej strony, przyczanie zmiennej moe by przydatne i efektywne, jeli pracujesz z poje-
dynczym, lecz duym zbiorem danych. Jeeli przetwarzasz dane pochodzce z jednej zmiennej,
nie spowodujesz powstania powyszego bdu. Ponadto zawsze moesz mie przyczon
Analiza statystyczna w rodowisku R dla pocztkujcych
56
jedn zmienn, nawet wówczas, gdy pracujesz ze zbiorami danych majcymi takie same nazwy
kolumn. Oczywicie jeli Twoje zmienne nie maj wspólnych kolumn, podczanie ich wszystkich
jest moliwe. W kadym razie moesz zawsze odwoa si do kolumn poprzez uycie notacji
zmienna$kolumna
. Zostanie to wykorzystane w dalszej czci tej ksiki.
Zwró uwag na to, e gdy chcesz odczy zmienn, musisz uy funkcji
detach(zmienna)
.
Wykonanie polecenia spowoduje sprowadzenie zmiennej do jej wczeniejszego stanu, tak
jakby nie zostaa nigdy przyczona.
Notacja zmienna[wiersz, kolumna]
Podczas odwoywania si do danych z wiersza lub pojedynczych elementów naley uywa
notacji
zmienna[wiersz, kolumna]
. W przypadku wierszy, co sprawdzilimy podczas uzyski-
wania dostpu do dziesitego wiersza w zmiennej
soldiersByCity
poprzez wykonanie pole-
cenia
> soldiersByCity[10,]
, pominity zostaje fragment zapisu odnoszcy si do kolumny.
Taka instrukcja nakazuje rodowisku R zwrócenie danych ze wszystkich kolumn w wierszu.
Aby uzyska pojedynczy element, naley poda odpowiednie wartoci wiersza i kolumny. Gdy
poprzez wykonanie polecenia
> soldiersByCity[5, 2]
odwoywalimy si do elementu
[5, 2]
ze
zmiennej
soldiersByCity
, warto
5
reprezentowaa wiersz elementu, a
2
definiowaa kolumn.
Taka operacja jest podobna do wyboru pojedynczego punktu z wykresu przy uyciu wspó-
rzdnych x-y, z t rónic, e w naszym przypadku wykres zastpujemy macierz z danymi.
Na marginesie: by moe zauwaye, e notacja
zmienna[wiersz, kolumna]
moe równie
suy do odwoywania si do kolumn. Osiga si to dziki pominiciu fragmentu dotyczcego
wartoci wiersza. Na przykad aby uzyska dostp do kolumny
Miasto
w zmiennej
soldiersByCity
,
moglibymy uy kodu
soldiersByCity[, 2]
, który nakazaby rodowisku R zwrócenie da-
nych ze wszystkich wierszy w kolumnie
Miasto
.
Sprawdzian
1.
Opisz sowami znaczenie poniszego wiersza konsoli R:
> myVariable$myColumn
a) Pomnó warto zmiennej myVariable przez warto zmiennej myColumn.
b) Podziel warto zmiennej myVariable przez warto zmiennej myColumn.
c) Ze zmiennej myColumn wybierz kolumn myVariable.
d) Ze zmiennej
myVariable
wybierz kolumn
myColumn
.
2.
W jakich okolicznociach przyczanie w konsoli R zmiennych ze zbiorami danych
nie jest najlepszym rozwizaniem?
a) Przetwarzasz pojedynczy zbiór danych.
b) Przetwarzasz wiele zbiorów danych zawierajcych identyczne nazwy kolumn.
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
57
c) Przetwarzasz wiele zbiorów danych zawierajcych identyczne nazwy kolumn,
ale chcesz przyczy tylko jeden z nich.
d) Przetwarzasz wiele zbiorów danych, które nie zawieraj identycznych nazw kolumn.
3.
Notacja
zmienna[wiersz, kolumna]
moe zosta uyta, by uzyska dostp do danych
z nastpujcych lokalizacji:
a) Wierszy.
b) Kolumn.
c) Elementów.
d) Wszystkie powysze opcje s poprawne.
Czas na dziaanie — przetwarzanie danych ze zmiennych
Umiejtno uzyskania dostpu do informacji przechowywanej w zmiennej jest wstpem do
wykonania czynnoci przetwarzania danych. Zmienne i zawarte w nich dane mog by wyko-
rzystywane w ten sam sposób, w jaki w rozdziale 2. uylimy liczb do przeprowadzenia obli-
cze. Mog one zosta uyte w formuach matematycznych, a take wystpi jako argumenty
funkcji.
1.
Uyj zmiennej
hanzhongResources
, aby obliczy ilo zasobów, które posiadaaby
armia Shu, jeli powód zniszczyaby 75% kadego z zasobów:
> #jeli powód zniszczya 75% zasobów Shu w miecie Hanzhong, ile ich
´pozostanie?
> #pomnó zmienn hanzhongResources przez warto 0,25, by wyznaczy
´pozostae 25% pierwotnych zasobów
> hanzhongResources * 0.25
2.
rodowisko R wywietli nastpujcy wynik oblicze:
3.
Obecnie zaómy, e hipotetyczna powód miaa wpyw jedynie na zapasy w miecie
Hanzhong, natomiast inne zasoby pozostay nienaruszone. Musisz wykona
obliczenie jedynie dla kolumny
Zapasy
w zmiennej
hanzhongResources
:
> #jeli powód zniszczya 75% zapasów w miecie Hanzhong, ile ich
´pozostanie?
> #pomnó kolumn Zapasy przez warto 0,25, by wyznaczy pozostae 25%
´pierwotnych zasobów
> hanzhongResources$Zapasy * 0.25
4.
rodowisko R wywietli wynik oblicze. Zwró uwag na to, e obliczenia mog
zosta wykonane w taki sam sposób dla wierszy, kolumn i elementów.
Analiza statystyczna w rodowisku R dla pocztkujcych
58
5.
Warto zmiennej moe take zosta uyta jako argument funkcji. Zaómy mniej
katastroficzny scenariusz i uyjmy zmiennej
soldiersByCity
w celu obliczenia redniej
(przecitnej) liczby onierzy stacjonujcych w jednym miecie królestwa Shu:
> #uyj funkcji mean(dane), aby obliczy redni liczb onierzy
´stacjonujcych w miecie królestwa Shu
> #w miecie królestwa Shu stacjonuje przecitnie tylu onierzy:
> mean(soldiersByCity$onierze)
6.
rodowisko R wywietli wynik oblicze. Zwró uwag na to, e obliczenia mog
by wykonane w taki sam sposób dla danych w wierszach, kolumnach,
poszczególnych elementów, a take dla caych zbiorów danych.
7.
Oprócz tego wyniki oblicze mog zosta zapamitane w nowych zmiennych, aby
mona ich byo uy w póniejszym czasie. Tym razem zapiszemy wynik oblicze
z punktu 5. w nowej zmiennej o nazwie
meanSoldiersByCity
:
> #zapisz redni liczb onierzy przypadajcych na jedno miasto w zmiennej
´o nazwie meanSoldiersByCity
> meanSoldiersByCity <- mean(soldiersByCity$onierze)
8.
rodowisko R nie wywietli adnego wyniku. Sprawd zawarto zmiennej
meanSoldiersByCity
poprzez wprowadzenie w konsoli R nastpujcego kodu:
> #wywietl zawarto zmiennej meanSoldiersByCity
> meanSoldiersByCity
9.
rodowisko R wywietli zawarto zmiennej
meanSoldiersByCity
:
Co si zdarzyo?
Zaledwie w kilku wierszach kodu przewiczye róne sposoby manipulowania danymi, któ-
rych bdziesz regularnie uywa w rodowisku R. Przeanalizujmy kady z nich oddzielnie.
Wykonywanie obliczenia przy uyciu caego zbioru danych
Gdy uye zmiennej
hanzhongResources
w celu okrelenia wpywu powodzi na kady z zasobów,
odkrye, e ta operacja wywouje ten sam efekt dla wszystkich danych, które zawiera zmienna.
Dla celów prezentacyjnych zaómy istnienie nastpujcej tabeli z elementami o wartociach
1
,
2
,
3
,
4
znajdujcymi si odpowiednio w kolumnach
a
,
b
,
c
, i
d
:
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
59
a
b
c
d
1
2
3
4
Zaómy, e ta tabela zostaa zapamitana w zmiennej rodowiska R o nazwie
lettersAndNumbers
.
Do tej zmiennej dodalimy warto równ jeden, wykorzystujc w tym celu nastpujc instrukcj:
> lettersAndNumbers + 1
Po tej operacji kady z elementów tabeli zwikszy swoj warto o jeden:
a
b
c
d
2
3
4
5
Jak wida, operacja przeprowadzona na zbiorze danych jest w rzeczywistoci wykonywana na
kadym z jego elementów. Jednake rodowisko R nie zawsze bdzie potrafio przeprowadzi
udane obliczenia dla kadego elementu zbioru danych.
Na przykad jeli chcielibymy przeprowadzi operacj obliczenia numerycznego dla kolumn
Królestwo
i
Miasto
zawierajcych si w zmiennej
soldiersByCity
, rodowisko R zwrócioby
ostrzeenie, wywietlajc wartoci
NA
2
. Wynika to std, e nasze kolumny
Królestwo
i
Miasto
zawieraj tekst, co powoduje, e przetwarzanie ich w sposób numeryczny nie ma sensu. Aby
pojawio si takie ostrzeenie, wprowad w konsoli R poniszy kod:
> #co si stanie, gdy spróbujemy wykona obliczenie numeryczne na danych
´nienumerycznych?
> #otrzymamy ostrzeenie, poniewa przetwarzanie tekstu w sposób numeryczny nie
´ma sensu
> soldiersByCity * 5
Uzyskamy nastpujcy wynik (rysunek na nastpnej stronie).
Widzimy, e kolumna
onierze
zawiera wartoci numeryczne, dlatego kady jej element zo-
sta prawidowo pomnoony przez pi. Jednake tekst w kolumnach
Królestwo
i
Miasto
nie
móg zosta pomnoony, dlatego pojawi si komunikat z ostrzeeniem. Aby unikn otrzymywa-
nia wartoci niemajcych zastosowania i dezorganizujcych dziaanie konsoli R, wane jest,
eby by wiadomy typu swoich danych i stosowa dla nich odpowiednie rodzaje oblicze.
2
NA — ang. not available — niemajcy zastosowania, nie dotyczy — przyp. tum.
Analiza statystyczna w rodowisku R dla pocztkujcych
60
Wykonywanie obliczenia dla wiersza, kolumny lub elementu
Przetwarzanie danych w wierszu, kolumnie czy elemencie przebiega identycznie jak prze-
twarzanie caego zbioru danych zawartego w zmiennej. Rónic nie jest samo obliczanie, lecz
raczej to, co zostanie wybrane do jego przeprowadzenia. W zalenoci od tego, czy chcesz
przetwarza dane w wierszu, kolumnie lub pojedynczym elemencie, musisz uzyska do nich
dostp w odpowiedni sposób. Zapoznaj si z podrozdziaem zatytuowanym „Czas na dziaanie
— dostp do danych w zmiennych”, aby dowiedzie si wicej o tych metodach.
Uycie zmiennych jako argumentów funkcji
Zarówno cay zbiór danych zawarty w zmiennej, jak i jedynie jego okrelony podzbiór (wiersz,
kolumna lub element) mog by uywane jako argumenty funkcji. W naszych poprzednich
dziaaniach wykorzystywalimy funkcj
mean(dane)
w celu obliczenia redniej liczby onierzy
przypadajcych na kade z miast królestwa Shu wystpujcych w zmiennej
soldiersByCity
. T
operacj mona równie atwo wykona dla caego zbioru danych, pojedynczego wiersza lub
elementu. Najlepszy sposób uycia zmiennej jako argumentu zaley od tego, jaki jest cel
przetwarzania danych, oraz od zastosowania okrelonej funkcji.
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
61
Zapisywanie wyniku obliczenia w nowej zmiennej
Nie zapominaj, e celem istnienia zmiennych jest przechowywanie i porzdkowanie Twoich
informacji. Do czsto dla potrzeb kolejnych przetwarza bdziemy musieli zapisywa w nowej
zmiennej wyniki oblicze lub rezultaty zwracane przez funkcj. Zmienne i inne obiekty, które
powstaj podczas naszych dziaa, s przechowywane w obszarze roboczym rodowiska R,
który zostanie omówiony w kolejnym podrozdziale.
Sprawdzian
Tabela
myTable
skada si z dwóch wierszy, trzech kolumn i szeciu elementów o wartociach
od 1 do 6. Uyj tej tabeli, aby odpowiedzie na pytania z punktu 1. i 2.
myTable
1
2
3
4
5
6
1.
Rozwa nastpujcy wiersz kodu:
> myTable * 10
Jeli ten kod zostaby uyty dla tabeli
myTable
, jaki byby wynik dziaania?
Wpisz odpowiednie wartoci w puste pola tabeli
myTableAfterManipulation1
:
myTableAfterManipulation1
2.
Rozwa nastpujcy wiersz kodu:
> myTable[1, 2] + 10
Jeli ten kod zostaby uyty dla tabeli
myTable
, jaki byby wynik dziaania?
Wpisz odpowiednie wartoci w puste pola tabeli
myTableAfterManipulation2
:
myTableAfterManipulation2
3.
Zinterpretuj sownie nastpujcy wiersz konsoli R:
> myVariable <- mean(myData$myColumn)
a) Oblicza redni dla zmiennej
myColumn
, a nastpnie przypisuje wynik do zmiennej
myVariable
.
Analiza statystyczna w rodowisku R dla pocztkujcych
62
b) Oblicza redni dla zmiennej
myData
, a nastpnie przypisuje wynik do zmiennej
myVariable
.
c) Dla zmiennej
myData
wybiera skadnik
myColumn
, oblicza jego redni, a nastpnie
przypisuje wynik do zmiennej
myVariable
.
d) Przypisuje zmiennej
myVariable
warto zmiennej
myData
, a nastpnie oblicza jej
redni.
Do przewiczenia
Aby przetestowa dziaanie rónych metod sucych do manipulowania danymi, uyj danych
o zasobach oraz swojej wiedzy o rodowisku R i spróbuj rozwiza nastpujce zadania:
1.
Przypumy, e obawiasz si powodzi, która mogaby doprowadzi do zniszczenia
Twoich zasobów. Oblicz ilo zasobów, które pozostayby, gdyby powód zniszczya
poow kadego zasobu zapisanego w zmiennej
hanzhongResources
. Zapamitaj
wynik w pojedynczej zmiennej
hanzhongResourcesAfterFlood
.
2.
Aby zanotowa ostatnie przemieszczenie 5000 onierzy z miasta Guanghan do
Baxi, odejmij 5000 od elementu reprezentujcego liczb onierzy w Guanghan,
a nastpnie dodaj 5000 do elementu reprezentujcego liczb onierzy w Baxi.
Informacje o liczbie onierzy w miastach s zapisane w zmiennej
soldiersByCity
.
Zapamitaj wynik kadego z oblicze w nowej zmiennej. Zmienne powinny mie
nazwy
guanghanSoldiersAfterRelocation
i
baxiSoldiersAfterRelocation
.
3.
Uyj funkcji
min(dane)
i
max(dane)
oraz zmiennej
soldiersByCity
, aby obliczy
najmniejsz i najwiksz liczb onierzy w miecie. Zapisz wyniki odpowiednio
w zmiennych
minSoldiersByCity
i
maxSoldiersByCity
.
4.
Uyj funkcji
sum(dane)
oraz zmiennej
soldiersByCity
, aby obliczy cakowit liczb
onierzy armii Shu i Wei. Nastpnie zapamitaj wynik w zmiennej
totalSoldiers
.
Jeli w trakcie realizacji powyszych zada otrzymasz komunikat ostrzeenia lub bdu, po-
staraj si dokadniej zdefiniowa, jakie dane powinny zosta uyte w obliczeniu lub argumen-
cie funkcji. Aby dowiedzie si wicej o reagowaniu w przypadku takich sytuacji, wró do
wczeniejszego podrozdziau „Wykonywanie obliczenia przy uyciu caego zbioru danych”.
Czas na dziaanie — zarzdzanie rodowiskiem R
Obszar roboczy rodowiska R przechowuje wszystkie obiekty utworzone przez uytkownika
(w naszym przypadku s to zmienne), które powstay w trakcie sesji. Jego zawarto moe zo-
sta zapamitana i odtworzona, tak by mona jej byo uy w przyszoci.
1.
Uyj funkcji
ls()
, aby wywietli zawarto obszaru roboczego rodowiska R:
> #wywietl biec zawarto obszaru roboczego rodowiska R
> ls()
2.
rodowisko R wywietli list obiektów w Twoim obszarze roboczym:
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
63
3.
Uyj funkcji
save.image(file)
, aby zapamita swój obszar roboczy w katalogu
roboczym. Argument
file
powinien mie posta sensownej nazwy pliku
z rozszerzeniem .RData:
> #zapamitaj obszar roboczy rodowiska R w katalogu roboczym za pomoc
´funkcji save.image(file)
> save.image("rDlaPocztkujcych_R_04.RData")
4.
rodowisko R zapamita Twój obszar roboczy w pliku. Otwórz katalog roboczy za
pomoc odpowiedniego narzdzia systemu operacyjnego, aby upewni si, e plik
ten zosta rzeczywicie utworzony.
5.
Uyj polecenia
q()
, aby wyj ze rodowiska R. Zignoruj lub odrzu komunikaty,
które si pojawi.
> #zakocz sesj R
> q()
6.
rodowisko R zostanie zamknite.
7.
Ponownie uruchom rodowisko R poprzez kliknicie jego ikony. Nastpnie uyj
polecenia
ls()
, aby sprawdzi, czy biecy obszar roboczy jest pusty:
> #wywietl biec zawarto obszaru roboczego rodowiska R
> ls()
Uzyskasz nastpujcy wynik:
8.
Zdefiniuj katalog roboczy poprzez wprowadzenie polecenia
setwd(dir)
:
> #zdefiniuj katalog roboczy
> setwd("C:/Users/RUser/Strateg")
9.
Uyj funkcji
load(file)
, aby wczyta zapisany plik z obszarem roboczym.
Argument
file
powinien by taki sam jak argument uyty w punkcie 3.:
> #wczytaj poprzednio zapamitany obszar roboczy rodowiska R za pomoc
´funkcji load(file)
> load("rDlaPocztkujcych_R_04.RData")
Analiza statystyczna w rodowisku R dla pocztkujcych
64
10.
Uyj polecenia
ls()
, aby sprawdzi, czy zapamitana zawarto jest obecnie
dostpna w obszarze roboczym rodowiska R:
> #wywietl biec zawarto obszaru roboczego rodowiska R
> ls()
Co si zdarzyo?
Wanie sprawdzie w praktyce dziaanie podstawowych funkcji zarzdzajcych obszarem
roboczym, których bdziesz potrzebowa, by przekazywa swoje dane midzy rónymi se-
sjami rodowiska R. S wród nich funkcje suce do wywietlania, zapamitywania i wczy-
tywania zawartoci Twojego obszaru roboczego w rodowisku R.
Wywietlanie zawartoci obszaru roboczego R
Obszar roboczy w rodowisku R zawiera wszystkie obiekty, które stworzye w trakcie swojej
sesji. Do tej chwili nasze obiekty przyjmoway form zmiennych, które „odczytyway” dane
z plików CSV lub przechowyway wyniki oblicze. Funkcja
ls()
moe zosta wywoana zawsze,
aby wywietli zawarto obszaru roboczego R.
Zapamitywanie zawartoci obszaru roboczego R
Aby zapamita obszar roboczy rodowiska R, uyj funkcji
save.image(file)
. Poniewa dzia-
alimy w naszym katalogu roboczym, argument
file
musia si skada jedynie z nazwy pliku
i rozszerzenia .RData. Jeli obszar roboczy zosta zapisany w innym miejscu, naley poda
pen ciek. Pamitaj, aby zawsze dodawa rozszerzenie .Rdata podczas zapamitywania
swojego obszaru roboczego, poniewa jest ono niezbdne, by rodowisko R mogo poprawnie
rozpozna plik podczas jego adowania.
Odczytywanie zawartoci obszaru roboczego R
Aby odczyta zawarto obszaru roboczego, uyj funkcji
load(file)
. Argument
file
jest w tym
przypadku identyczny z argumentem uywanym w funkcji
save.image(file)
. Jeli wic plik,
który chcesz zaadowa, znajduje si w Twoim katalogu roboczym, bdziesz musia poda je-
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
65
dynie jego nazw oraz rozszerzenie .RData. Jeeli jest on umieszczony gdzie indziej, naley
wprowadzi pen ciek dostpu do niego.
Zauwa, e w zalenoci od posiadanej przez Ciebie wersji rodowiska R zapamitanie i wczytanie
obszaru roboczego R moe zosta wykonane automatycznie podczas uruchamiania lub zamy-
kania aplikacji. Inn metod jest kliknicie odpowiedniej opcji w menu. By moe bdziesz
chcia sprawdzi dostpne opcje menu oraz ustawienia preferencji. Bez wzgldu na to zalecamy,
aby podczas uywania konsoli R zarzdza jej obszarem roboczym, poniewa pozwoli to na
pen kontrol wykonywanych dziaa.
Zamykanie rodowiska R
Jak moge zauway, polecenie
q()
moe zosta wykorzystane do wyjcia ze rodowiska R.
W tym celu moesz oczywicie take uy odpowiednich opcji menu, skrótów klawiszowych
lub innych sposobów dostpnych w Twoim komputerze.
Jeli nie zdecydujesz, e obszar roboczy ma zosta zapamitany podczas zamykania rodowi-
ska R, caa jego zawarto zostanie utracona. Pamitaj, aby zapisa obszar roboczy przed wyj-
ciem ze rodowiska R.
Rozrónienie midzy konsol R a obszarem roboczym
Gdy podczas wykonywania wczeniejszych czynnoci ponownie uruchomie rodowisko
R i wczytae zapamitany plik z obszarem roboczym, by moe zauwaye, e zawarto
ekranu samej konsoli nie zostaa przywrócona. Ujawnia to wan rónic midzy konsol ro-
dowiska R a jego obszarem roboczym. Zasadniczo obszar roboczy suy do przechowywania
wszystkich obiektów uytkownika, konsola za zawiera histori operacji, które zostay wyko-
nane na tych obiektach.
Wyobra sobie czynno ogldania filmu w kinie jako analogi prezentujc zwizek midzy
obszarem roboczym i konsol. Widownia, ekran i fotele znajduj si w tym samym pomiesz-
czeniu (obszarze roboczym). Wszystkie czynnoci, jakie wykonuj te „obiekty” — kichaj,
miej si, jedz, wywietlaj film, przyklejaj gum do ucia do foteli — s zapisywane w hi-
storii wrae odbioru filmu (konsoli).
Obszar roboczy zawiera obiekty (takie jak osoby w kinie), konsola za zapamituje interakcje,
które wystpiy midzy nimi (takie jak wysypanie komu popcornu na gow).
Zapamitywanie stanu konsoli R
Poniewa stan konsoli nie jest zapamitywany podczas zapisywania obszaru roboczego, za-
pewne chcesz wiedzie, w jaki sposób mona zachowa informacje z danej sesji w przypadku
konsoli rodowiska R. Mimo e w rodowisku R nie ma dostpnej funkcji, która zapisywaaby
zawarto konsoli, mamy do dyspozycji inne opcje.
Analiza statystyczna w rodowisku R dla pocztkujcych
66
Jedn z nich jest skopiowanie i wklejenie treci znajdujcych si w konsoli do edytora teksto-
wego. Inn, zalen od posiadanej przez Ciebie wersji rodowiska R, moe by uycie menu
w celu zapamitania kopii konsoli jako pliku tekstowego. S to zalecane techniki pozwalajce
na zapisanie stanu konsoli R. Moesz równie zastanowi si nad metodami alternatywnymi.
W kadym razie zdecydowanie zalecane jest zapisywanie stanu konsoli R pod koniec kadej
sesji. Posiadanie historii Twoich poprzednich dziaa moe uchroni Ci przed wykonaniem
tych samych operacji, a jednoczenie pomóc w przyszej pracy. Pozwala take na zorganizo-
wanie i zapamitanie wszystkiego, co jest zwizane z biecym projektem, szczególnie wtedy,
gdy zarzdzasz du iloci danych oraz wieloma obiektami.
Sprawdzian
1.
Jakiego rozszerzenia pliku powiniene uy podczas zapisywania obszaru
roboczego R?
a) .txt
b) .R
c) .RData
d) Nie jest potrzebne uycie rozszerzenia.
2.
Które z poniszych zda najlepiej opisuje zwizek midzy konsol a obszarem
roboczym rodowiska R?
a) Obszar roboczy oraz konsola rodowiska R mog zosta zapamitane za pomoc
funkcji
save.image(file)
.
b) Zawarto obszaru roboczego i konsoli rodowiska R moe zosta wywietlona za
pomoc funkcji
ls()
.
c) Konsola rodowiska R przechowuje obiekty, a obszar roboczy histori zwizanych
z nimi dziaa.
d) Obszar roboczy rodowiska R przechowuje obiekty, a konsola histori zwizanych
z nimi dziaa.
3.
Które z poniszych stwierdze nie opisuj opcji pozwalajcej na zapisanie stanu
konsoli R?
a) Uycie wbudowanej funkcji rodowiska R.
b) Skopiowanie zawartoci konsoli do edytora tekstowego.
c) Uycie opcji menu rodowiska R do zapisania zawartoci konsoli w pliku
tekstowym.
d) Zrzut ekranu konsoli rodowiska R.
Do przewiczenia
Twoje kocowe zadanie w tym rozdziale bdzie polega na zebraniu i uporzdkowaniu pozo-
staych danych o zasobach otrzymanych od Zhuge Lianga. Praca ta bdzie wymagaa wczyta-
nia pliku CSV do rodowiska R, stworzenia nowych zmiennych, uzyskania dostpu do danych
Rozdzia 4. • Gromadzenie i porzdkowanie informacji
67
i ich przetworzenia, a wreszcie zapisania obszaru roboczego rodowiska R oraz zawartoci
konsoli. Poprzez wykonanie poniszych dziaa zaprezentuj wysoki poziom posiadanej wie-
dzy na temat wspomnianych zagadnie, przygotowujc na potrzeby analizy dane archiwalne
o bitwach.
1.
Plik historiaBitew.csv zawiera dane dotyczce 120 bitew przeprowadzonych
midzy siami Shu i Wei. Wczytaj te dane do zmiennej o nazwie
battleHistory
.
2.
Uyj danych zaimportowanych w punkcie 1., by odpowiedzie na nastpujce
pytanie: jaka liczba onierzy królestw Shu i Wei bya przecitnie zaangaowana
w walki? Zapamitaj wyniki w oddzielnych zmiennych o nazwach odpowiednio
meanSoldiersShu
i
meanSoldiersWei
.
3.
Zapisz zawarto swojego obszaru roboczego R w nowym pliku o nazwie
rDlaPocztkujcych_R_04_wiczenie.RData.
4.
Zapisz zawarto swojej konsoli R w nowym pliku o nazwie rDlaPocztkujcych_
R_04_wiczenie.txt.
W razie potrzeby korzystaj z poprzednich podrozdziaów w celu uzyskania pomocy podczas
gromadzenia i porzdkowania informacji.
Podsumowanie
W tym rozdziale dokadnie przeanalizowae metody suce do gromadzenia i porzdkowania
informacji w rodowisku R. Maj one bardzo due znaczenie dla odniesienia sukcesu w dziedzi-
nach strategii i analityki. Umiejtno skutecznego zarzdzania danymi jest kluczem do uprosz-
czenia sposobu dziaania oraz sprawienia, e wyniki Twojej pracy bd zrozumiae dla innych.
Podczas gromadzenia i porzdkowania danych zdobye umiejtnoci niezbdne do:
Q
Importowania danych zewntrznych do rodowiska R.
Q
Uywania zmiennych w celu porzdkowania i przetwarzania swoich danych.
Q
Zarzdzania obszarem roboczym R.
Dysponujc przygotowanymi danymi, moesz obecnie rozpocz szacowanie wyzwa mili-
tarnych dla si zbrojnych królestwa Shu. W rozdziale 5. ocenimy opcje walki dostpne dla
armii Shu. Od Ciebie bdzie zaleao przyjcie rozwanego toku dziaa.
Skorowidz
#, 47
$, 55
+, 117
<-, 52
>, 47
A
abind, 260
abline(), 206, 211, 249
lty, 211
lwd, 218
reg, 211
AIC, 140
test, 140, 141
AIC(), 140, 141
Akaike Information Criterion, Patrz AIC
analiza
regresji, 150, Patrz regresja
wariancji, Patrz ANOVA
analysis of variance, Patrz ANOVA
angle, 193, 199
ANOVA, 103, 104
tabela, 105
anova(), 104, 141
argument funkcji, 37
przetwarzanie danych ze zmiennych, 58
uycie zmiennej, 60
zmienna liczba, 73
as.numeric(), 79, 80
at, 225
attach(), 54, 55
axis(), 223, 225, 240
at, 225
labels, 225
las, 225
B
barplot(), 154, 155, 164
dodatkowe argumenty, 188–200
beside, 198
blank, 211
bmp(), 183
boxplot(), 173, 176, 224
range, 224
break, 227
breaks, 228
C
c(), 156
cex, 200, 201, 208
chooseCRANmirror(), 257, 259
coef(), 143, 146
col, 162, 163, 164, 218
colors(), 164
Comprehensive R Archive Network, Patrz CRAN
cor(), 82, 83, 85, 86
CRAN, 259
serwer lustrzany, 259, 262
csv, 50, 51
czas biecy, 36
D
dane
importowanie, 49
kategoryczne, 79
przekodowanie na posta numeryczn, 79
nominalne, 79
szereg, 172
zewntrzne importowanie, 49
Skorowidz
274
dashed, 211
data bieca, 36
dataset, 169
date(), 37
density, 193, 199
detach(), 56
dev.off(), 183
digits, 233
dodanie osi do grafiki, 236
dopasowywanie grafiki, 159
argumenty, 162
col, Patrz col
main, Patrz main
xlab, Patrz xlab
xlim, Patrz xlim
ylab, Patrz ylab
ylim, Patrz ylim
dostp do
kolumny w zmiennej, 53
pojedynczego elementu w zmiennej, 54
wiersza w zmiennej, 54
dotdash, 211
dotted, 211
E
efekt
interakcji, 97
osabiania, 99
eksportowanie grafiki, 182
element obliczenia dla, 60
F
file, 50, 63, 64, 132
fill, 165
formua, 46
przetwarzanie danych ze zmiennych, 57
freq, 228, 229
function(), 115, 116, 119
funkcja, 37
abline(), Patrz abline()
AIC(), 140, 141
anova(), 104, 141
as.numeric(), 79, 80
attach(), 54, 55
axis(), Patrz axis()
barplot(), 154, 155, 164
bmp(), 183
boxplot(), Patrz boxplot()
c(), 156
chooseCRANmirror(), 257, 259
coef(), 143, 146
colors(), 164
cor(), 82, 83, 85, 86
definiowanie wasnej, Patrz function()
detach(), 56
dev.off(), 183
getwd(), 37, 38, 148
glm(), 136, 141
graficzna, 161
graphicsFunction(), 162
help(), Patrz help()
hist(), 177, 178
install.packages(), 258, 260
jpeg(), 183
legend(), 165, Patrz legend()
length(), 163
library(), 258, 260
lines(), Patrz lines()
lm(), 88, 89, 94
load(), 64, 69
ls(), 62, 64
magic(), 259
matrix(), 198
max(), 62
mean(), 58, 75
min(), 62
o zmiennej liczbie argumentów, 73
par(), 248
paste(), 233
pdf(), 183
pie(), Patrz pie()
plot(), Patrz plot()
png(), 183
points(), 204, 209, 240
pomocy, 254
rainbow(), 163
range(), 76, 77
read, 50
read.csv() , 50, 148
read.table(), 131, 132
round(), 233
save.image(), 63, 64, 150
sd(), 75, 77
setwd(), 37, 38, 148
Skorowidz
275
subset(), 72, 74
sum(), 62
summary(), 76, 77, 91, 136
tiff(), 183
wieloargumentowa, 73
wasna uytkownika, Patrz function()
zorientowana na zasoby, 119
zagniedona, 250
G
getwd(), 37, 38, 148
gsto, 229
glm(), 136, 141
GNU General Public License, 16
Google, 265
graficzne okno, 156
grafika
dopasowywanie, Patrz dopasowywanie grafiki
eksportowanie, 182
kolory
automatyczne, 163
zdefiniowane, 164
linie poziome i pionowe, 249
opis, 165
tworzenie, 184, 235–241
dodanie osi, 236
par(), 248
plot(), 235
uzupenianie danych, 237
z wieloma elementami wizualnymi, 242–50
wygld, Patrz dopasowywanie grafiki
graficzna funkcja, 161
graphicsFunction(), 162
H
header, 132
height, 155
help(), 253, 254, 256
topic, 255
hierarchical linear regression, 101
hierarchiczna regresja liniowa, 101
hist(), 177, 178
histogram, 177
break, 227
breaks, 228
dopasowywanie, 227–230
freq, 228, 229
pogrupowanie kolumn, 227, 228
wywietlanie gstoci zamiast liczebnoci,
228, 229
HLR, Patrz hierarchiczna regresja liniowa
horiz, 190, 196
I
importowanie danych zewntrznych, 49
instalacja rodowiska R, 27–36
install.packages(), 258, 260
interakcja, 97
predyktor, 99
zmienna, 97
J
jpeg(), 183
K
katalog roboczy, 37, 38
zapamitanie obszaru roboczego, 63
kategoryczne dane, Patrz dane kategoryczne
kolory
automatyczne, 163
zdefiniowane, 164
kolumna obliczenia dla, 60
komentarz, 45, 148
konsola R, 36
a obszar roboczy, 65
importowanie danych zewntrznych, 49
komentarz, 45
wiersz, 44
rozszerzony, 117
wywietlanie informacji, 47
zapamitywanie stanu, 65
korelacja, 82, 83, 85, 132
interpretowanie, 84
tabela, 85
Kryterium Informacyjne Akaike, Patrz AIC
kwartyl
dolny, 173
górny, 173
Skorowidz
276
L
labels, 181, 225, 231
las, 225
legend, 165
legend(), 165, 195, 200, 211, 220, 234, 241
angle, 200
cex, 200
density, 200
length(), 163
library(), 258, 260
liczebno, 229
lines(), 215, 218
col, 218
type, 218
lm(), 88, 89, 94
load(), 64, 69
load.image(), 149
logistyka, 120
longdash, 211
ls(), 62, 64
lty, 211
lwd, 213, 218
M
magic, 260, 261
magic(), 259
magiczny kwadrat, 42
main, 162
maksimum, 62, 77
matrix(), 198
max(), 62
mean(), 58, 75
mediana, 173
min(), 62
minimum, 62, 77
model regresji, 87
N
nadpisywanie zmiennych, 81
najlepiej dopasowane proste, 211
dodanie do wykresu punktowego, 211
names, 189, 195
nominalne dane, Patrz dane kategoryczne
O
obliczenia
dla
elementu, 60
kolumny, 60
wiersza, 60
na zbiorze danych, 59
obszar roboczy, 61, 62
a konsola, 65
odczytanie zawartoci, 64
wywietlanie zawartoci, 62, 64
zapamitanie, 64
w katalogu roboczym, 63
zarzdanie, 62
od do, 172
odchylenie standardowe, 75, 77
odczytanie zawartoci obszaru roboczego, 64
odczenie zmiennej, 56
okno graficzne, 156
operator
nierównowanoci, 73
równowanoci, 73
opis, 165
opisowa statystyka \t, 75
osabiania efekt, 99
o wykresu
dodanie przy tworzeniu grafiki, 236
modyfikacja, 225
przedefiniowanie skali, 210
P
Packages, 260
pakiet, 257, 260
uycie, 261
wczytywanie, 260
zaleny, 260
par(), 248
paste(), 233
pch, 201, 208
pdf(), 183
pie(), 179, 181
labels, 181
plik
csv, 51
danych, 51
z wartociami oddzielonymi przecinkami,
Patrz csv
Skorowidz
277
plot(), 166, 168, 170, 208, 218, 235, 239
cex, 208
lwd, 218
pch, 208
type, 171
png(), 183
pobranie rodowiska R, 27–31
podsumowanie wyników, 76
points(), 204, 209, 240
polecenie, 37
predyktor, 99
prefiks
#, 47
+, 117
>, 47
brak, 46
prognozowanie, 140
metod regresji, 114
wyników, 87
prosta
regresja liniowa, 88
regresji, 211
dodanie do wykresu punktowego, 211
przedefiniowanie skali na osi, 210
przetwarzanie danych ze zmiennych, 57
jako argument funkcji, 58
w formuach matematycznych, 57
przewidywanie, 142
przyczenie zmiennej, 55
p-warto, 91, 105
Q
q(), 63, 65
R
R, 16, 17, 25
formua, 46
funkcja, 37
instalacja rodowiska, 27–36
konsola, 36
obszar roboczy, Patrz obszar roboczy
pobranie rodowiska, 27–31
polecenie, 37
rozszerzanie o nowe pakiety, 257
strony internetowe, 263
wyjcie ze rodowiska, 65
wynik, 46
zasoby, 253
dostpne w internecie, 262-265
zmienna, Patrz zmienna
R Project for Statistical Computing, Patrz R
rainbow(), 163
range, 221, 224
range(), 76, 77
RData, 63, 64, 65
read, 50
read.csv(), 50, 148
read.table(), 131, 132
reg, 211
regresja
regresja, 87, 150
liniowa
hierarchiczna, 101
prosta, 88, 89, 90, 92
wielokrotna, 94, 95, 97
model, 87
interakcyjny, 97
liniowy, 90
interpretacja, 92
porównanie modeli, 101
prognozowanie, 114, 140
projektowanie optymalnego modelu, 136
przecicie, 90
przewidywanie, 142
p-warto, 91
równanie, 90
statystyczna istotno, 91
wspóczynnik, 90
determinacji, 91
wspóliniowo, 99
wyznaczanie wyników z modeli, 114
zmienna
niezalena, 87
objaniajca, 87
objaniana, 87
zalena, 87
round(), 233
rozstp wiartkowy, 224
rozszerzenie RData, Patrz RData
równowano, 73
S
save.image(), 63, 64, 150
sd(), 75, 77
sep, 132
Skorowidz
278
serwer CRAN, 259
lustrzany, 259
setwd(), 37, 38, 148
sliceData, 181
sliceText, 181
solid, 211
space, 189, 196
standardowe odchylenie, 75, 77
statystyczna istotno, 91
statystyka
opisowa, Patrz statystyka zbiorcza
zbiorcza, 75, 77, 78, 132, 149
strony internetowe na temat R, 263
subset(), 72, 74
sum(), 62
suma, 62
summary(), 76, 77, 91, 136
szereg danych, 172
rednia, 58, 75
rodowisko
graficzne R, Patrz R
obliczeniowe R, Patrz R
R, Patrz R
T
tabela
ANOVA, 105
korelacji, 85
test AIC, 141
tiff(), 183
twodash, 211
tworzenie
grafiki, Patrz grafika tworzenie
dodanie objanie, 238
z wieloma elementami wizualnymi, 242–50
wasnego wykresu, Patrz grafika tworzenie
zmiennej, 52
type, 171, 218
U
urzdzenie graficzne, 183
zamknicie, 184
W
wariancja, 91
warto
maksymalna, 62, 77, 173
minimalna, 62, 77, 173
NA, 86
zmiennej, 51, 52
przypisanie, 52
wektor, 156
width, 189, 196
wieloargumentowa funkcja, Patrz funkcja
wieloarguentowa
wielokrotna regresja liniowa, 94, 95, 97
wiersz, 44
obliczenia dla, 60
rozszerzony, 117
wspóczynnik determinacji, 91
wspóliniowo, 99
wycentrowanie zmiennej, 99
wyjcie ze rodowiska R, 65
wykres, 156
koowy, 179
dodanie opisu, 231, 232
dopasowywanie, 231–34
labels, 231
opis zawartoci procentowych
skadników, 231
liniowy, 170
dodanie nowych relacji, 215, 218
objanienia, 217
dopasowywanie, 220
grubo linii, 213, 218
kolor linii, 218
lwd, 213, 218
modyfikacja osi, 225
punktowy, 166
abline(), 206
cex, 201
dataset, 169
dodanie najlepiej dopasowanych
prostych, 206
dodanie nowych relacji, 204
dodanie opisów, 205
dopasowywanie, 201–212
pch, 201
points(), 204, Patrz points()
pojedynczy, 168
Skorowidz
279
symbole odpowiadajce punktom danych,
208
wygld symboli oznaczajcych punkty, 201,
209
skrzynkowy, 173
dugo wsów, 221, 224
dopasowywanie, 221–226
pojedynczy, 176
range, 221
rozstp wiartkowy, 224
stworzenie wasnych osi, 222, 223
wieloelementowy, 176
supkowy, 154
angle, 193, 199
beside, 192, 198
density, 193, 199
dopasowywanie, 188–200
horiz, 190, 196
names, 189, 195
odstpy midzy supkami, 196
skumulowany, 192
space, 189, 196
sposób cieniowania supków, 199
to supków, 193
width, 189, 196
zmiana orientacji, 190
tworzenie wasnego, Patrz grafika tworzenie
wynik, 46
podsumowanie, 76
prognozowanie, 87
z modelu regresji, 114
zapisywanie w nowej zmiennej, 61
wywietlanie zawartoci obszaru roboczego, 64
X
xaxt, 225
xlab, 162
xlim, 162, 163, 210
Y
yaxt, 225
ylab, 162
ylim, 162, 163, 210, 220
Z
zakres, 75
nienumeryczny, 79
zbioru danych, 76, 77
zamykanie rodowiska R, 65
zapamitanie obszaru roboczego, 64
zasoby, 253
zawarto obszaru roboczego, 62
zbiorcza statystyka, 75, 77, 78, 132, 149
zbiór danych, 58
obliczenia na, 59
zmiana
orientacji wykresu supkowego, 190
ta supków na wykresie, 193
zmienna, 51, 52
dostp do
kolumny, 53
pojedynczego elementu, 54
wiersza, 54
interakcyjna, 97
korelowanie, Patrz korelacja
liczba argumentów, 73
nadpisywanie, 81
odczytanie danych, 51
odczenie, 56
przetwarzanie danych, Patrz przetwarzanie
danych ze zmiennych
przyczenie, 55
przypisanie wartoci, 52
tworzenie, 52
uycie jako argument funkcji, 60
wektorowa, 156
wycentrowanie, 99
wywietlenie zawartoci, 52
zapisanie danych, 51
zmienna$kolumna, 53, 55
zmienna[wiersz,kolumna], 56
ródo danych, 52