250 glirrafiki
—
Do wizualizacji wielowymiarowych danych można użyć funkcji starsO (wykres radarowy, patrz rysunek 4.33). Każdy obiekt (wiersz w tabeli danych) jest przedstawiony jako osobna plama na wykresie. Wartości kolejnych zmiennych są prezentowane innym kolorem oraz przez inny segment plamy. Dzięki temu wykresowi możemy ■ bliżej przyjrzeć się poszczególnym wierszom danych.
Poniższy kod generuje przykłady z rysunków 4.33 i 4.34.
tt wybieramy zmienne i przypadki, które będą wizualizowane, nazywamy kolejne obserwacje by łatwiej je było rozpoznać osoby = dane [1:lO.cCl,2,5,6,7)1
rovnames(osoby) » cCKarolina", "Ola", "Ala", "Partrycja" , "Agnieszka", "Martą"
,"Ela"."Wiola"."Zośka", "Kamila") i
# wizualizujemy wybrane zmienne wykresem radarowym
stars(osoby,key. loc«c(8,2),dr=r,eol.segments=heat.colors(5),ncol=4) Ą
faces(osoby[,c(1.4,5)],nrow.plot*3) ' :
Funkcja facesO również przedstawia kolejne obiekty tyle, że za pomocą tzw. twarzy Chernoffa (patrz rysunek 4.34). Zamiast rozet rysowane są twarze. Kolejne
elementy twarzy odpowiadają kolejnym zmiennym w ramce danych. Przyjmuje się, że oko i mózg człowieka lepiej rozpoznaje różnice w obrazach twarzy niż w macierzy liczb. Kolejne zmienne w zbiorze danych odpowiadają następującym elementom twarzy: (jeżeli zmiennych jest mniej, to działa recycling rule) zmienna 1-wysokość twarzy, zmienna 2-szerokość twarzy, 3-kształt twarzy, 4-wysokość ust, 5-szerokość ust,
Dotyczy to oka normalnego człowieka. Niektórzy matematycy wolą (lub przynajmniej tak deklarują) macierze liczb.
6-kizywizna uśmiechu, 7-wysokość oczu, 8-szerokość oczu, 9-wysokość włosów, 10-szerokość włosów, 11-styl włosów, 12-wysokość nosa, 13-szerokość nosa, 14-szerokość uszu, 15-wysokość uszu.
W tym rozdziale przedstawiliśmy wiele podręcznych wykresów. Wiele nie znaczy jednak ani większość ani nawet znaczna część. Liczba pakietów dedykowanych grafice pakietów czy też pojedynczych funkcji jest niewyobrażalna. Osoby zainteresowane estetyczną, elegancką i przede wszystkim czytelną reprezentacją graficzną swoich danych powinny zaznajomić się jeszcze z następującymi pakietami:
• Pakiet plotrix. Pakiet z wieloma bardzo różnorodnymi wykresami. W tym pakiecie są zarówno funkcje do rysowania wykresu Gantta, funkcje do rysowania tekstu w kształcie luku okręgu i funkcje do wielu innych mniej i bardziej przydatnych zagadnień.
• Pakiet ggplot. Pakiet z wieloma funkcjami do wizualizacji danych wielowymiarowych oraz innych danych. Prefix gg w nazwie tej funkcji pochodzi od nazwy książki Grammar of Graphics poświęconej technikom wizualizacji danych.
• Pakiet ggplot2. Pakiet będący po trochu rozszerzeniem możliwości pakietu ggplot a po trochu pakietem zawierającym zupełnie nowym sposób operowania na grafice w R. Bardzo rozbudowany pakiet o olbrzymich możliwościach.
Rysunek 4.34: Wykres twarzy Chernoffa, faces().
Warto zobaczyć stronę internetową [27] z przykładami uzyskanych wykresów oraz z prezentacją instrukcji użytych do generowania tych wykresów.
• Pakiet grid. Pakiet autorstwa Paula Murrella z wieloma przydatnymi funkcjami graficznymi do zarządzania rozmieszczeniem rysunków (layoutem) oraz funkcjami ułatwiającymi interakcję z użytkownikiem. Pakiet daje wiele nowych możliwości i jest wykorzystywany przez wiele innych pakietów graficznych.
• Pakiet lattice. Pakiet do zarządzania rozmieszczeniem rysunków na kracie. Jest to pakiet o olbrzymich możliwościach, z wieloma wbudowanymi funkcjami do wizualizacji danych, szczególnie wielowymiarowych.