-
Notifications
You must be signed in to change notification settings - Fork 1
1.5.5 Wykresy
Pakiet MLAK umożliwia łatwe rysowanie kilku rodzajów wykresów:
-
Wykresów rozkładu wartości zmiennej (histogramu):
wykresHistogram(zmienna, liczbaPrzedziałów, tytuł, tytułOsiX, tytułOsiY)
-
Wykresów słupkowych
- skumulowanych:
wykresSlupkowy(dane, FALSE, tytuł, tytułOsiX, tytułOsiY, sufiksY)
- nieskumulowanych:
wykresSlupkowy(dane, TRUE, tytuł, tytułOsiX, tytułOsiY, sufiksY)
parametrsufiksY
umożliwia dostosowanie etykiet osi Y, np. gdy wyświetlane są wartości procentowe (patrz ostatni wykres w przykładzie).
- skumulowanych:
-
Wykresów kołowych:
- gdy dane w legendzie mają dokładnie odpowiadać przekazany wartościom:
wykresKolowy(dane, tytuł)
- gdy dane w legendzie mają odpowiadać wystandaryzowanym wartościom:
wykresKolowyNorm(dane, tytul = tytuł)
wykresKolowyNorm(dane, dokł, tytuł)
- gdy na wykresie mają zostać zaprezentowane częstości występowania przekazanej zmiennej:
wykresKolowyZlicz(zmienna, tytul = tytuł)
wykresKolowyZlicz(zmienna, etykiety, tytuł)
za pomocą parametruetykiety
istnieje możliwość nadania etykiet wartościom prezentowanej zmiennej (patrz przykład).
- gdy dane w legendzie mają dokładnie odpowiadać przekazany wartościom:
-
Wykresów rozrzutu (patrz tutaj):
- zwykły:
wykresRozrzutu(zmiennaX, zmiennaY, tytul = tytuł)
wykresRozrzutu(zmiennaX, zmiennaY, etykietyPunktów, tytul = tytuł)
wykresRozrzutu(zmiennaX, zmiennaY, rozmiar = rozmiarPunktów, tytul = tytuł)
wykresRozrzutu(zmiennaX, zmiennaY, etykietyPunktów, rozmiarPunktów, tytul = tytuł)
- dla zmiennych ilorazowych (z początkiem układu współrzędnych wymuszonym w punkcie
0, 0
):
wykresRozrzutuIloraz(zmiennaX, zmiennaY, tytul = tytuł)
wykresRozrzutuIloraz(zmiennaX, zmiennaY, etykietyPunktów, tytul = tytuł)
wykresRozrzutuIloraz(zmiennaX, zmiennaY, rozmiar = rozmiarPunktów, tytul = tytuł)
wykresRozrzutuIloraz(zmiennaX, zmiennaY, etykietyPunktów, rozmiarPunktów, tytul = tytuł)
- zwykły:
-
Wykresów liniowych (patrz tutaj):
wykresLiniowy(dane, tytuł, tytułOsiX, tytułOsiY)
Odpowiednią funkcję należy osadzić w raporcie jako:
```{r, fig.height = wysokośćWykresuWCalach, fig.width = szerokośćWykresuWCalach}
wywołanieFunkcjiRysującejWykres()
```
przy czym jeśli dany wymiar wykresu nie zostanie podany, przyjęta zostanie wartość domyślna, np.:
```{r. fig.height = 2.5}
wykresHistogram(Ocena, 4, 'Rozkład ocen', 'Ocena', 'Częstość')
```
Uwaga! W wypadku funkcji wykresHistogram()
oraz wykresKolowyZlicz()
jako pierwszy argument typowo przekazywana będzie zmienna z pliku danych, natomiast w wypadku pozostałych funkcji rysujących wykresy na ogół będzie to zbiór już obliczonych wartości statystyk (patrz przykład poniżej).
Uwaga! Różnice pomiędzy działaniem różnych funkcji rysujących wykresy kołowe najlepiej prześledzić na przykładzie.
Uwaga! Każda z funkcji rysujących wykresy może również opcjonalnie przyjąć argument opcjeWykresu = opcje
, gdzie opcje
to dowolne funkcje pakietu ggplot2, np. wykresSlupkowy(c(1, 2), opcjeWykresu = ggplot2::theme_grey())
.
Uwaga! Inne rodzaje wykresów można uzyskać korzystając z odpowiednich pakietów języka R (np. funkcje z pakietu podstawowego czy pakietu ggplot2).
Załóżmy, że dysponujemy prostym zbiorem danych postaci:
Przedmiot | Ocena |
---|---|
1 | 2 |
1 | 3 |
1 | 3 |
1 | 2 |
1 | 4 |
2 | 3 |
2 | 4 |
2 | 5 |
2 | 5 |
2 | 3 |
2 | Brak danych |
2 | Brak danych |
zapisanym w pliku dane.csv
oraz (zapisanym w pliku odbiorcy.csv
) zbiorem odbiorców:
Odbiorca |
---|
X |
zapisanym w pliku odbiorcy.csv
.
Na ich podstawie chcemy wygenerować wykresy rozkładu częstości występowania poszczególnych ocen:
- w postaci histogramu;
- w postaci wykresu kołowego:
- z niestandaryzowanymi wartościami legendy (wartości częstości obliczone przy pomocy funkcji
N()
); - ze standaryzowanymi wartościami legendy (wartości częstości obliczone przy pomocy funkcji
N()
); - obliczone wprost ze zmiennej Ocena przez funkcję wykresKolowyZlicz();
- z niestandaryzowanymi wartościami legendy (wartości częstości obliczone przy pomocy funkcji
- w postaci skumulowanego wykresu słupkowego;
- w postaci nieskumulowanego wykresu słupkowego.
Przykładowy szablon takiego raportu:
---
title: "Przykłady obliczania statystyk"
output: pdf_document
---
```{r, echo = FALSE, message = FALSE, warning = FALSE}
library(MLAK)
wczytajOdbiorce('odbiorcy.csv', 'dane.csv')
```
# Histogramy
```{r, fig.height = 2}
wykresHistogram(Ocena, 4, 'Rozkład ocen – 4 grupy', 'Ocena', 'Częstość')
```
```{r, fig.height = 2}
wykresHistogram(Ocena, 3, 'Rozkład ocen – 3 grupy', 'Ocena', 'Częstość')
```
# Wykresy kołowe
## Liczba wystąpień policzona funkcją N()
```{r, fig.height = 3}
wykresKolowy(
c('ndost.' = N(Ocena, 2), 'dost.' = N(Ocena, 3), 'db.' = N(Ocena, 4), 'bdb.' = N(Ocena, 5)),
'Częstość występowania ocen'
)
```
## Odsetki policzone funkcją Pw()
```{r, fig.height = 3}
wykresKolowy(
c('ndost.' = Pw(Ocena, 2), 'dost.' = Pw(Ocena, 3), 'db.' = Pw(Ocena, 4), 'bdb.' = Pw(Ocena, 5)),
'Częstość występowania ocen'
)
```
## Liczba wystąpień policzona funkcją N(), znormalizowana przez wykresKolowyNorm()
```{r, fig.height = 3}
wykresKolowyNorm(
c('ndost.' = N(Ocena, 2), 'dost.' = N(Ocena, 3), 'db.' = N(Ocena, 4), 'bdb.' = N(Ocena, 5)),
tytul = 'Częstość występowania ocen'
)
```
Wykres jest identyczny, jak przy obliczeniu odsetków funkcją Pw()
## Odsetki policzone bezpośrednio ze zmiennej
```{r, fig.height = 3}
wykresKolowyZlicz(Ocena, tytul = 'Częstość występowania ocen')
```
Wynik jest ten sam, jak na poprzednich wykresach, brak jednak etykiet wartości zmiennej.
```{r, fig.height = 3}
wykresKolowyZlicz(
Ocena,
c('2' = 'ndost. ', '3' = 'dost.', '4' = 'db.', '5' = 'bdb.'),
tytul = 'Częstość występowania ocen'
)
```
Z dodanymi etykietami.
# Wykresy słupkowe
## Liczba wystąpień – wykres nieskumulowany
```{r, fig.height = 3}
wykresSlupkowy(
c('ndost.' = N(Ocena, 2), 'dost.' = N(Ocena, 3), 'db.' = N(Ocena, 4), 'bdb.' = N(Ocena, 5)),
FALSE,
tytul = 'Częstość występowania ocen'
)
```
## Procent wystąpień – wykres skumulowany
```{r, fig.height = 3}
wykresSlupkowy(
c('ndost.' = Pw(Ocena, 2), 'dost.' = Pw(Ocena, 3), 'db.' = Pw(Ocena, 4), 'bdb.' = Pw(Ocena, 5)),
TRUE,
tytul = 'Częstość występowania ocen',
sufiksY = '%'
)
```
```{r, fig.height = 3, fig.width = 3}
wykresSlupkowy(
c('ndost.' = Pw(Ocena, 2), 'dost.' = Pw(Ocena, 3), 'db.' = Pw(Ocena, 4), 'bdb.' = Pw(Ocena, 5)),
TRUE,
tytul = 'Częstość występowania ocen',
sufiksY = '%'
)
```
Dodanie znaku % w etykietach osi Y i zmniejszenie szerokości wykresu.