64 pazuRrry
> M zamieniamy go na wektor zmiennych wyliczeniowych
> (wyliczeniowa = factor(wektor))
[1] Wrocław Poznan Wrocław Częstochowa Wrocław Wrocław
Levels: Częstochowa Poznan Wrocław
> factor(wektor, exciude="Poznan")
[1] Wrocław <NA> Wrocław Częstochowa Wrocław Wrocław
teyels: Częstochowa Wrocław
> # zmieniamy etykiety dla elmentów wektora zmiennej wyliczeniowej
> factor(wektor, labełs = c("miasto 1","miasto 2">"miasto 3"))
Cl] miasto 3 miasto 2 miasto 3 miasto 1 miasto 3 miasto 3 Levels: miasto 1 miasto 2 miasto 3
Listę poziomów dla zmiennej typu wyliczeniowego wyznacza funkcja levels(base) Dzięki tej funkcji można też modyfikować nazwy poziomów. Funkcją nlevels (base) możemy sprawdzać na ilu poziomach dana zmienna występuje.
> tt wynikiem tej funkcji jest trzy element owy wektor etykiet
> levels(wyliczeniowa)
"Częstochowa" "Poznan" “Wrocław"
> # zmieniamy etykiety zmiennych
> levels(wyliczeniowa) <- c("Medaliki", "Pyriandia", "Miasto spotkań")
> suimnary(wyliczeniowa)
Medaliki Pyriandia Miasto spotkań
1 1 4
> # liczba poziomów dla tej zmiennej
> nlevels(wyliczeniowa)
[13 3
Dla zmiennych wyliczeniowych funkcją table(base) można wyznaczać macierz kontyngencji, czyli macierz zliczającą liczności dla poszczególnych kombinacji czyń-, ników. Macierze kontyngencji można wyznaczać dla dowolnej liczby zmiennych. Wy| nikiem funkcji tableO są jednowymiarowe, dwuwymiarowe lub więcej wymiaro we macierze (w zależności od liczby zmiennych). Jeżeli dane nie są przechowywani w wektorach, ale w ramce danych, to do wyznaczenia macierzy kontyngencji można.! użyć funkcji xtabs(stats). Pierwszym argumentem tej funkcji jest formula opisu-i jąca, które kolumny wejściowej ramki danych mają być użyte do wyznaczenia macierzy kontyngencji. W sytuacji, gdy rozważamy wiele zmiennych czynnikowych wynik działania funkcji table(base) i xtabs(stats) jest mało czytelny (trudno przedstawić np. pięciowymiarową macierz). Aby poprawić czytelność można użyć funkcji" ftable(stats), której wynikiem jest płaska, dwuwymiarowa macierz kontyngencji.
Do analiz macierzy kontyngencji przydatna jest też funkcja margin.table(base) wyznaczająca brzegowe liczebności oraz funkcja prop.table(base) wyznaczającą)! częstości (frakcje) zamiast liczebności. Używając funkcji addmargins(stats) do ma-f: cierzy kontyngencji można dodać kolumnę i wiersz z brzegowymi liezebnościami.
Do zamiany zmiennej liczbowej na zmienną przedziałową (czynnikową) możemy wykorzystać funkcje cut(base) o argumentach x i breaks. Elementy wektora X są zamieniane na wartości poziomów w zależności od tego, do jakiego przedziału': określonego przez wektor breaks należą. Dodatkowy argument labełs pozwala nać określenie etykiet dla tak otrzymanych czynników.
?|t‘Wbktor ” 1:10
g funkcją cutO zamieniamy zmienną ilościową na zmienną jakościową, tnąc . ją na przedziały
SSSfej^Biukl » cut (wektor ,c(0,6,11)))
• Ci3 (0,5] (0,5] (0,5] (0,5] (0,5] (5,11] (6,11] (6,11] (5,11] (5,11] Lei-els: (0,5] (5,11]
(czynni I*2 = cut (wektor"2,c(0,50,100)))
(0,503 (0,50] (0,50] (0,50] (0,50] (0,50] (0,50] (50,100] (50,100]
?:$:■ '(60,100]
:ieyels: (0,50] (50,100]
'łś/unkcją tableO możemy wyznaczyć macierz kontyngencji
> (tabela - table(czynniki, czynnik2))
ęzynnik2
•'.ęzynnikl (0,50] (50,100]
■ (0,5] 5 0
(6,it) 2 3
\y p możemy wyznaczyć tabele z proporcjami zamiast liczebności K > -prop■table(tabela) i-‘ . czynnik2
czynniki (0,50] (50,100]
• .(0,5] 0.5 0.0
(5,11] 0.2 0.3
:> t iiyznaczmy brzegowe liczebności w kolumnach
> margin. table (tabela, 2) czynnik2
(0,501 (50,100]
7 3
:> p a teraz tabela z liczebnościami brzegowymi
> addmargins(tabela)
■ czynnik2
czynniki (0,50] (50,100] Sum
(6,5) |
S; |
0 5 |
(5,11] |
2 |
3 5 |
Sum |
7 |
3 10 |
Do łatwego generowania wektorów wartości typu czynnikowego, wykorzystać . można funkcję gl(base). Kolejne argumenty tej funkcji opisują liczbę poziomów, i liczbę powtórzeń każdego poziomu, długość całego wektora oraz nazwy poziomów.
Możemy również określić, czy poziomy są w relacji porządku czy nie. Poniżej przed-• stawiamy przykład użycia tej funkcji.
> P funkcja gl() możemy generować wektory zmiennych o typie wyliczeniowym
> gl(2, 3, labełs ■ cCZdrowy", "Chory"))
;.'ft] Zdrowy Zdrowy Zdrowy Chory Chory Chory
Łewełs: Zdrowy Chory
> P tym razem generujemy wektor długości 8 elementów, o dwóch poziomach t-ji ^stępujących w dumelementowych blokach, poziomy są uporządkowane
gł(2, 2, length=8, labele - cCZdrowy", "Chory"). ordered-T)
f 13 Zdrowy Zdrowy Chory Chory Zdrowy Zdrowy Chory Chory ' f-evels: Zdrowy < Chory