1 Wstęp
Do tworzenia wykresów statystycznych w R można wykorzystać jedną z popularnych bibliotek:
Pakiet lattice - zbiór kilkunastu szablonów (lattice = krata, kratownica), wystarczających do przedstawienia typowych podsumowań danych. Względnie prosta obsługa.
Pakiet ggplot2 - deklaratywne podejście do tworzenia wykresów, wygodne i elastyczne. Wymaga poznania większej liczby funkcji.
Pakiet graphics - najstarsze rozwiązanie dostępne w R. Kolejne funkcje graficzne dorysowują elementy wykresu.
2 Grafika w R - praca z pakietem lattice
2.1 Przykładowe dane
Przykładowe dane, z którymi będziemy pracować, załadujemy z pakietu Przemysława Biecka “PBImisc” (autor “Przewodnik po pakiecie R”). W przypadku pierwszego użycia tego pakietu, należy go zainstalować (w RStudio, pasek zadań-> Tools->Install Packages… - może wymagać uruchomienia RStudio w trybie administratora).
Inny sposób na instalowanie biblioteki jak w przykładzie niżej (linijka jest zakomentowana, instalujemy raz):
Na nasze potrzeby sprawdzimy “zawartość” obiektu
kidney
:
#kidney #wyświetla obiekt kidney, wyświetla cały zbiór,
#"dużo tekstu, dlatego zakomentowane tutaj"
head(kidney) # sprawdzić w pomocy co robi funkcja head
## recipient.age donor.age CIT discrepancy.AB discrepancy.DR therapy diabetes
## 1 26 40 25 2 1 tc 0
## 2 52 62 31 4 1 cm 1
## 3 50 50 20 2 1 cm 0
## 4 56 47 38 3 0 tc 0
## 5 67 18 26 1 1 ca 0
## 6 26 45 22 1 0 cm 0
## bpl.drugs MDRD7 MDRD30 MDRD3 MDRD6 MDRD12 MDRD24 MDRD36 MDRD60
## 1 3 46 71 65.0 71 65 70 76 72
## 2 4 44 58 20.0 78 62 87 72 47
## 3 2 6 36 37.8 42 45 46 46 33
## 4 3 8 39 55.7 52 60 73 75 91
## 5 1 36 79 64.2 64 64 79 70 63
## 6 3 9 43 58.0 49 45 51 48 56
## [1] "list"
## 'data.frame': 334 obs. of 16 variables:
## $ recipient.age : int 26 52 50 56 67 26 56 42 48 53 ...
## $ donor.age : int 40 62 50 47 18 45 66 28 52 51 ...
## $ CIT : num 25 31 20 38 26 22 23 24 42 31 ...
## $ discrepancy.AB: int 2 4 2 3 1 1 2 2 3 3 ...
## $ discrepancy.DR: int 1 1 1 0 1 0 0 1 0 0 ...
## $ therapy : Factor w/ 3 levels "ca","cm","tc": 3 2 2 3 1 2 1 2 2 1 ...
## $ diabetes : int 0 1 0 0 0 0 0 0 0 0 ...
## $ bpl.drugs : int 3 4 2 3 1 3 2 1 1 2 ...
## $ MDRD7 : num 46 44 6 8 36 9 33 37 8 7 ...
## $ MDRD30 : num 71 58 36 39 79 43 39 64 57 40 ...
## $ MDRD3 : num 65 20 37.8 55.7 64.2 58 52 70 39 33.4 ...
## $ MDRD6 : num 71 78 42 52 64 49 39 64 76 42 ...
## $ MDRD12 : num 65 62 45 60 64 45 42 70 84 42 ...
## $ MDRD24 : num 70 87 46 73 79 51 41 86 75 47 ...
## $ MDRD36 : num 76 72 46 75 70 48 45 77 81 42 ...
## $ MDRD60 : num 72 47 33 91 63 56 47 69 82 39 ...
## recipient.age donor.age CIT discrepancy.AB
## Min. :14.00 Min. :14.00 Min. : 0.50 Min. :0.000
## 1st Qu.:34.00 1st Qu.:31.00 1st Qu.:18.00 1st Qu.:2.000
## Median :43.00 Median :44.00 Median :23.00 Median :2.000
## Mean :41.67 Mean :41.68 Mean :23.07 Mean :2.249
## 3rd Qu.:50.00 3rd Qu.:51.00 3rd Qu.:28.00 3rd Qu.:3.000
## Max. :67.00 Max. :66.00 Max. :44.00 Max. :4.000
## discrepancy.DR therapy diabetes bpl.drugs MDRD7
## Min. :0.0000 ca:152 Min. :0.0000 Min. :0.000 Min. : 5.00
## 1st Qu.:0.0000 cm: 77 1st Qu.:0.0000 1st Qu.:2.000 1st Qu.: 9.00
## Median :1.0000 tc:105 Median :0.0000 Median :2.000 Median :18.50
## Mean :0.6976 Mean :0.2365 Mean :2.284 Mean :24.36
## 3rd Qu.:1.0000 3rd Qu.:0.0000 3rd Qu.:3.000 3rd Qu.:37.00
## Max. :2.0000 Max. :1.0000 Max. :6.000 Max. :99.00
## MDRD30 MDRD3 MDRD6 MDRD12
## Min. : 7.00 Min. : 15.00 Min. : 16.00 Min. : 8.00
## 1st Qu.: 35.00 1st Qu.: 39.00 1st Qu.: 39.25 1st Qu.: 42.00
## Median : 47.00 Median : 50.00 Median : 50.00 Median : 51.00
## Mean : 47.27 Mean : 50.50 Mean : 51.20 Mean : 52.22
## 3rd Qu.: 58.00 3rd Qu.: 58.15 3rd Qu.: 61.00 3rd Qu.: 62.00
## Max. :115.00 Max. :105.00 Max. :131.00 Max. :153.00
## MDRD24 MDRD36 MDRD60
## Min. : 13.50 Min. : 11.00 Min. : 9.00
## 1st Qu.: 43.00 1st Qu.: 42.25 1st Qu.: 41.00
## Median : 53.00 Median : 54.00 Median : 54.00
## Mean : 53.72 Mean : 53.74 Mean : 54.83
## 3rd Qu.: 65.00 3rd Qu.: 67.75 3rd Qu.: 69.00
## Max. :103.00 Max. :109.00 Max. :141.00
2.2 Porównanie wykresów z 3 pakietów ze domyślnymi argumentami
Uwaga: pakiety lattice i ggplot2 wymagają załadowania bibliotek i być może jednorazowego zainstalowania.
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
2.3 Elementy wykresu w pakiecie lattice
Użyty szablon - każdy szablon realizowany przez odpowiednią funkcję z pakietu. Listę funkcji można znaleźć w pomocy na temat pakietu (omówione zostaną w dalszej części Laboratorium):
Funkcje podzielone są na grupy: funkcje jednej zmiennej (univariate), dwóch zmiennych (bivariate), trójwymiarowe (trivariate) i wielu zmiennych (multivariate). Funkcje te i ich opcje omówimy w dalszej części. Uwaga: przez wykres dwóch zmiennych rozumiemy wykres, gdzie jedna ze zmiennych jest zależna (np. jest funkcją) drugiej zmiennej.
Formuła opisująca, które zmienne i w jakiej roli mają wystąpić na wykresie. Formuła składa się z 3 części: lewej strony formuły, prawej strony formuły i warunkowania. Zmienne powinny być widoczne w lokalnej przestrzeni nazw (prawe górne okno RStudio) albo odpowiadać nazwom kolumn w danych wskazanych przez argument
data
.
Składnia formuły:
zmienna objaśniana ~ zmienne objaśniające | zmienna grupująca
zmienna objaśniana
orazzmienna grupująca
może zawierać dowolną liczbę zmiennych rozdzielonych znakiem*
lub+
(znaki te można używać zamiennie)Typy zmiennych użytych w formule, od nich zależy sposób prezentacji na wykresie.
2.4 Podstawowy wykres
2.4.1 Dane do wykresu
Spróbujemy najpierw przyjrzeć się trzem wybranym elementom zbioru
kidney
, a następnie zilustrujemy dane na wykresie (chodzi o
kolumny MDRD12, MDRD7, discrepancy.DR ramki danych kidney
).
Sprawdzić w pomocy ? kidney
co opisują (mierzą) te
zmienne.
## [1] 65 62 45 60 64 45
## [1] "numeric"
## num [1:334] 65 62 45 60 64 45 42 70 84 42 ...
## [1] 334
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.00 42.00 51.00 52.22 62.00 153.00
## [1] 46 44 6 8 36 9
## [1] "numeric"
## num [1:334] 46 44 6 8 36 9 33 37 8 7 ...
## [1] 334
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 9.00 18.50 24.36 37.00 99.00
## [1] 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 2
## [38] 1 1 2 0 0 2 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 2 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1
## [75] 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 2 0 0 1 0 0 0 1 0 0 2 1 1 1 0 1 1 1
## [112] 1 0 0 0 0 1 1 2 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1
## [149] 2 2 1 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1
## [186] 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 2 0 1 0 0 1 0 1 2 0 1 1
## [223] 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1
## [260] 1 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 2 1 0 0
## [297] 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0
## [334] 1
##
## 0 1 2
## 113 209 12
## [1] "numeric"
## int [1:334] 1 1 1 0 1 0 0 1 0 0 ...
## [1] 334
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.0000 1.0000 0.6976 1.0000 2.0000
2.4.2 Sam wykres
W ten sposób uzyskaliśmy wykres składający się z 3 paneli (zmienna
warunkująca discrepancy.DR ma 3 wartości 0, 1 oraz 2. Jest to liczba
niezgodności w antygenach DR). Na osi OY (wartości) znajdują się dane
MRDR12, na osi OX (argumenty) dane MDRD7. Jest to podstawowy wykres
kropkowy. Argument data=kidney
wskazuje, z jakiego zbioru
danych mają być pobrane dane MDRD12, MDRD7, discrepancy.DR ilustrowane
na wykresie.
Nic nie stoi na przeszkodzie, by dane do wykresu były zmiennymi globalnymi:
3 Dodatkowe argumenty -
modyfikacja wykresu xyplot
Wybrane argumenty pozwalające na modyfikowanie wykresu:
3.1 Argument
type
“p” oznacza wykres kropkowy, “smooth” - krzywa średniej ruchomej, “r”
- krzywa trendu liniowego. Wartości argumentu type
przekazywane są jako lista - ta literka c
służąca do
tworzenia listy lub wektora.
Wybrane wartości argumentu:
p
, punktyl
, linia (ciekawy efekt, jeśli dodamy do powyższego wykresu, przy wykresie funkcji sin ma to większy sens). Związane jest to z tym, że dane nie koniecznie muszą być funkcją (w standardowym sensie)b
,o
, linia i punktyh
, linie pionowe przypominające histograms
, punkty łączone są krzywą schodkowąspline
, dopasowanie splinu 3-ciego stopnia do danychg
, pomocnicze linie siatkia
, średnie w grupach połączone linią (ćwiczenie: wyjaśnić, jak działa ten argument)
3.2 Legenda, argument
key
Za pomocą argumentu auto.key=TRUE
możemy stworzyć
automatyczną legendę (uwaga, w przykładzie poniżej dodane zostały
wartości dla MDRD36)
Zamiast wartości TRUE
możemy podać listę właściwości do
zmodyfikowania:
auto.key=list(columns=2)
- legenda będzie wyświetlana w dwóch kolumnachauto.key=list(space="right")
pozycja legendy (możliwe: top, bottom, left, right)auto.key=list(title="opis legendy")
3.3 Opisy osi, wykresu
Argumenty xlab="text"
, ylab="text2"
pozwalają na zmianę nazw osi, zamiast standardowych pobieranych z
formuły wykresu. Można też usunąć opis osi przez xlab=NULL
.
Argument main="opis wykresu"
pozwala na nadanie
wykresowi nagłówka. Standardowo ma wartość NULL
(brak
nagłówka).
xyplot(MDRD12+ MDRD36 ~ MDRD7, data = kidney,
type=c("p","spline"),
xlab="oś iksów",
ylab="oś igrek",
main="Tytuł wykresu jest jak każdy widzi")
Uwaga: w przypadku dłuższych formuł przydatne jest rozbicie ich na kilka linijek, co zwiększa przejrzystość jak w kodzie powyżej.
Przydatny może być pakiet latex2exp
umożliwiający
używanie wyrażeń TeXa do tworzenia opisów osi/wykresów. Pakiet wymaga
zainstalowania (jednorazowo) i załadowania biblioteki. Warto zwrócić
uwagę na main
w poniższym przykładzie - mieszanka tekstu i
wyrażeni matematycznych ograniczonych standardowymi znakami $ TeXa:
3.4 Argumenty
xlim
, ylim
Argumenty te pozwalają na kontrolowanie wartości na obu osiach, są zadawane jako dwuwymiarowe wektory oznaczające lewy i prawy koniec przedziału na osiach
3.5 Argument
pch, cex
Do zmiany symbolu znacznika na wykresie można wykorzystać argument
pch
, który może przyjmować wartości od 0 do 25 (liczbowe)
lub pojedyncze znaki (ograniczone przez cudzysłów, np. “k”). Lista
symboli dostępna jest w pomocy przez ? pch
. Argument
pch
może przyjąć jako wartość wektor, określający znacznik
dla każdego zestawu wartości oddzielnie.
Argument cex
kontroluje rozmiar znacznika
4 Mechanizm warunkowania i mechanizm grupowania
4.1 Mechanizm warunkowania
Mechanizm warunkowania (poprzez symbol | w formule dla wykresu) pozwala na przedstawienie danych na osobnych panelach (tutaj w przykładzie na 3 panelach, gdzie zmienna warunkująca discrepancy.DR ma 3 różne wartości).
4.2 Mechanizm grupowania
Mechanizm grupowania - argument group
- pozwala na
przedstawienie tych samych danych na jednym wykresie, jak w przykładzie
niżej (podział ponownie determinuje zmienna discrepancy.DR)
5 Przegląd szablonów pakietu lattice
UWAGA:
Zaprezentowane w poniższych materiałach funkcje/opcje stanowią ułanek opcji/możliwości. Internet jest ogromnym zasobem wiedzy i odpowiedzi na pojawiające się pytania - choć czasem jest problem z odpowiednim sformułowaniem pytania (kolega tak mówi).
5.1 Wykres kropkowy,
funkcja xyplot()
.
Funkcja ta omówiona była dość szczegółowo we wcześniejszej części
5.2 Wykres kropkowy,
funkcja splom()
Funkcja splom()
służy do rysowania macierzy wykresów
kropkowych:
Dołożymy dwa argumenty, pozwalające na sterowanie rozmiarem czcionki opisu zmiennych (dla potrzeb tego opisu czcionki zmniejszymy):
Pierwszym argumentem funkcji splom()
nie jest formuła,
jak w xyplot()
, a ramka danych zawierająca zmienne
ilościowe. Argument type
działa podobnie, jak w przypadku
xyplot()
- poprzednie zajęcia.
5.3 Wykres paskowy,
funkcja stripplot()
Wykres paskowy pokazuje, jak zmienia się zmienna ilościowa dla różnych grup opisanych przez zmienną jakościową.
Uwaga:
## int [1:334] 2 4 2 3 1 1 2 2 3 3 ...
## Factor w/ 5 levels "0","1","2","3",..: 3 5 3 4 2 2 3 3 4 4 ...
Zadanie:
Jakie jest działanie argumentów jitter.data
oraz
alpha
w powyższym przykładzie? Przetestować ich działanie
zmieniając wartości argumentów
5.4 Wykres pudełkowy,
funkcja bwplot
Wykres pudełkowy, inaczej wykres typu ramka-wąsy (b - box? w - whiskers?). Info: lewy koniec wąsa - minimum, początek pudełka - pierwszy kwartyl, kropka lub kreska pionowa w pudełku - mediana, koniec pudełka - trzeci kwartyl, prawy wąs - maksimum. Kropki poza głównym wykresem - obserwacje odstające (Zadanie: co to są obserwacje odstające?).
Argument varwidth=TRUE
za pomocą szerokości pudełka
obrazuje rozmiar porównywanych grup (różnica stosunkowo niewielka, ale
jest):
Inny przykład: podzielenie discrepancy.AB
na 3
przedziały
5.5 Wykres kropkowy i
paskowy, funkcja dotplot()
Tablicę zliczeń (krzyżowych, kontyngencji) możemy wykorzystać funkcje
table()
:
## Ładowanie wymaganego pakietu: PogromcyDanych
## Ładowanie wymaganego pakietu: dplyr
##
## Dołączanie pakietu: 'dplyr'
## Następujące obiekty zostały zakryte z 'package:stats':
##
## filter, lag
## Następujące obiekty zostały zakryte z 'package:base':
##
## intersect, setdiff, setequal, union
## Ładowanie wymaganego pakietu: SmarterPoland
## Ładowanie wymaganego pakietu: httr
## Ładowanie wymaganego pakietu: htmltools
## Warning: pakiet 'htmltools' został zbudowany w wersji R 4.2.3
##
## kobieta mezczyzna
## podstawowe 22 71
## srednie 16 39
## wyzsze 10 24
## zawodowe 7 15
Do graficznej prezentacji takich danych można wykorzystać funkcję
dotplot()
, tutaj w podstawowej wersji:
oraz nieco bardziej zaawansowanej:
Zadanie/pytania:
- za co odpowiada argument
groups
? - dla przypomnienia, co to jest
type="o"
? - Do powyższego obrazka dodać tytuł wykresu, opisy osi, umieścić legendę po prawej stronie
5.6 Wykres kropkowy i
paskowy, funkcja barchart()
attach(daneSoc) #wczytanie danych
tablica=as.data.frame(table(wyksztalcenie,plec,praca))
#potrzebujemy ramkę danych
tablica #wyświetlenie...
## wyksztalcenie plec praca Freq
## 1 podstawowe kobieta nie pracuje 2
## 2 srednie kobieta nie pracuje 4
## 3 wyzsze kobieta nie pracuje 1
## 4 zawodowe kobieta nie pracuje 0
## 5 podstawowe mezczyzna nie pracuje 20
## 6 srednie mezczyzna nie pracuje 12
## 7 wyzsze mezczyzna nie pracuje 5
## 8 zawodowe mezczyzna nie pracuje 8
## 9 podstawowe kobieta uczen lub pracuje 20
## 10 srednie kobieta uczen lub pracuje 12
## 11 wyzsze kobieta uczen lub pracuje 9
## 12 zawodowe kobieta uczen lub pracuje 7
## 13 podstawowe mezczyzna uczen lub pracuje 51
## 14 srednie mezczyzna uczen lub pracuje 27
## 15 wyzsze mezczyzna uczen lub pracuje 19
## 16 zawodowe mezczyzna uczen lub pracuje 7
Zadanie:
- dostosować wykres jak poprzednio (osie, tytuł itp.)
5.7 Wykres profili,
funkcja parallelplot()
Funkcja parallelplot
jest nowszą wersją funkcji
parallel
. Pozwala na przedstawienie profilu zmienności
wielu cech jednocześnie
parallelplot(~kidney[,c(9:16)],
groups=MDRD7<30,
alpha=0.2,
horizontal.axis=FALSE,
scales=list(x=list(rot=90)),
data=kidney)
Zadania:
- Jakie jest działanie “nowych” argumentów w powyższym poleceniu
(
horizontal.axis
,scales
)? - Jaki jest efekt grupowania poprzez
group=MDRD7
? - Wykres składa się z dużej ilości linii, ze względu na liczbę
obserwacji w zbiorze danych
kidney
. Jak zaprezentować na wykresie wybrane wiersze (np. od 5 do 15)? Usunąć przy okazji mechanizm grupowania.
5.8 Histogram, funkcja
histogram()
Podstawowy histogram oraz z warunkowaniem otrzymane za pomocą funkcji
histogram()
:
Przydatna może być informacja o danych, w celu lepszego doboru przedziałów klasowych
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 9.00 18.50 24.36 37.00 99.00
Modyfikacja przedziałów, (ujemne wartości tylko ilustracyjnie) podział równomierny:
oraz podział nierównomierny:
Zmiana sposobu wyświetlania paneli poprzez argument
layout
:
Zadanie: sprawdzić efekt działania
layout
dla innych wartości.
5.9 Wykres gęstości,
funkcja densityplot()
Wykres gęstości rozkładu w podstawowej postaci:
oraz z warunkowaniem i dodatkowymi argumentami:
Inne modyfikacje
densityplot(~MDRD7,
group=factor(diabetes),
par.settings = list(superpose.line = list(col = c("blue","red"))),
data=kidney,
bw=8,
from=0,to=80,
plot.points=FALSE,
auto.key=TRUE)
Zadanie:
- Narysować wykres gęstości warunkowany przez
discrepancy.AB
, tak aby panele były ułożone poziomo obok siebie oraz (druga wersja) pionowo jeden pod drugim
5.10 Wykres dystrybuanty
empirycznej, funkcja ecdfplot
z pakietu
latticeExtra
Wywołanie funkcji:
##
## Dołączanie pakietu: 'latticeExtra'
## Następujący obiekt został zakryty z 'package:ggplot2':
##
## layer
Zadanie
Narysować wykres dystrybuanty empirycznej wykorzystując warunkowanie i grupowanie
5.11 Wykresy kwantylowe,
funkcje qqmath()
i qq()
Funkcja qqmath
służy do przedstawienia wykresu
kwantylowego zgodności z rozkładem zadanym przez argument
distribution
.
Wygenerujemy próbkę 500 obserwacji z rozkładu normalnego i porównamy z rozkładem normalnym i wykładniczym
Podobnie, tym razem próbka z rozkładu wykładniczego
Uwaga: literka ‘q’ przy rozkładach związana jest z kwantylami rozkładu. Inne rozkłady można znaleźć w pomocy.
Funkcja qq()
służy do konstrukcji wykresu kwantylowego
przedstawiającego zgodność rozkładu zmiennej w dwóch grupach. Po lewej
stronie formuły musi być podana zmienna z dokładnie
dwoma poziomami:
Zadanie:
Jak interpretować uzyskane wykresy?
6 Zadania
6.1 Zadanie 1
Zaimportować plik danych
dane_w2.xlsx
Na podstawie danych
CH7Avg
wskazań wiatrowskazu (kierunku wiatru) utworzyć nowy wektor (np.sektor
), który przyjmie wartości znakoweN
,E
,S
,W
, w zależności od wartościCh7Avg
w następujący sposób:
N
, gdyCh7Avg
jest mniejsze niż 45 lub większe niż 315
E
, gdyCh7Avg
jest większe niż 45 i mniejsze niż 135
S
, gdyCh7Avg
jest większe niż 135 i mniejsze niż 225
W
, gdyCh7Avg
jest większe niż 225 i mniejsze niż 315
(domknąć przedziały z jednej strony). Wskazówka: było takie zadanie, gdzie losowaliśmy wektor z rozkładu jednostajnego i na jego podstawie budowaliśmy wektor o wartościach 0 lub 1, w zależności czy wylosowano liczbę mniejszą czy większą od 0.5.Utworzyć ramkę danych zawierająca jedynie dane:
date
, wskazaniaCh4Avg
,Ch5Avg
,Ch6Avg
,Ch7Avg
, oraz utworzonysektor
. Ramka powinna wyglądać mniej więcej tak (tutaj tylko 6 pierwszych wierszy):
## date anemo_80m anemo_60m anemo_40m kierunek_80m sector ## 1 2010-08-01 00:00:00 4.6 5.3 4.8 62 E ## 2 2010-08-01 00:10:00 4.7 4.8 4.8 69 E ## 3 2010-08-01 00:20:00 5.1 4.8 4.5 83 E ## 4 2010-08-01 00:30:00 5.5 4.4 3.1 93 E ## 5 2010-08-01 00:40:00 5.0 3.8 2.6 89 E ## 6 2010-08-01 00:50:00 4.2 3.3 2.3 92 E
6.2 Zadanie 2
Korzystając z powyższej ramki narysować wykresy (zadbać o tytuły wykresów, kolory, legendy itp szczegóły wykresów):
jeden wykres (liniowy) wskazań anemometrów CH4, CH5 i CH6 w zależności od
date
wykres punktowy wskazań anemometrów CH4 w zależności od
date
i sektora (4 panele, warunkowanie)wykres punktowy wskazań anemometrów CH4, CH5 i CH6 w zależności od
date
i sektora (4 panele, warunkowanie)wykres punktowy wskazań anemometrów CH4, CH5, CH6 w zależności od
date
wykorzystując grupowanie (3 panele, 4 serie kolorów). Powinno wyjść:
narysować wykres ramka-wąsy (
bwplot
) dla wskazań anemometru CH4narysować wykres ramka-wąsy (
bwplot
) dla wskazań anemometru CH4 z podziałem na sektory (4 ramki na jednym rysunku)narysować wykres macierzowy między wskazaniami CH4, CH5 i CH6. Porównać z macierzą korelacji dla tych danych (polecenie
cor
)narysować wykres kwantylowy (
qqmath
) zgodności CH4 z rozkładem normalnymnarysować wykres kwantylowy (
qqmath
) zgodności CH4 z rozkładem Weibulla o parametrach wyestymowanych przy okazji poprzedniego laboratorium. Dostęp do rozkładu Weibulla (parametrdistribution
wqqmath
) o zadanych parametrach poprzezfunction(p) qweibull(p,shape=???,scale=???)
gdziep
jest argumentem funkcji i nie zmieniamy, a w miejsce???
wstawiamy swoje wartości.