Wykresy kołowe, zastosowanie
Uwagi ogólne
Gdy obrazujemy udziały procentowe jakiś kategorii osobników i zależy nam na podkreśleniu różnic w tych udziałach, to stosujemy wykresy kołowe. Przykładowo gdy porównujemy dwa środowiska, w których wyróżniamy 5 kategorii, a w każdej kategorii znajdujemy pewne liczby obiektów, zobrazowanie tego za pomocą nadrzędnej funkcji graficznej pie() może wyglądać następująco:
srodowisko=c("HALA 1", "HALA 2")
kategoria=c("A", "B", "C", "D", "E")
liczby.w.HALA1=c(234, 456, 211, 98, 14)
liczby.w.HALA2=c(54, 28, 78, 43, 2)
#
windows(5, 2.5)
par(mfcol=c(1,2),mar=c(0.5,0.5,1,0.5))
pie(liczby.w.HALA1, col=rainbow(10)[c(2:4,7,9)], labels=kategoria,
main=srodowisko[1])
pie(liczby.w.HALA2, col=rainbow(10)[c(2:4,7,9)], labels=kategoria,
main=srodowisko[2])
|
Po wykonaniu programu powstanie następujący wykres:
Wykres ten uwidacznia największą różnicę między środowiskami. W środowisku HALA 1 udział procentowy kategorii B i C jest inny niż w środowisku HALA 2.
Graficzne opracowanie skutków katastrofy Tytanika
Wśród na zaimplementowanych do R obiektów jest czterowymiarowa macierz o nazwie Titanic pokazująca liczby osób podróżujących statkiem Tytanik podczas jego pierwszego rejsu zakończonego zderzeniem z górą lodową. Osoby te zostały podzielone na te, które zmarły i te, które przeżyły, na kobiety i mężczyzn, dorosłych i dzieci oraz w zależności od ich statusu majątkowego, czego wskaźnikiem była klasa, którą te osoby podróżowały. Osobną grupę stanowi załoga. Macierz ta wygląda następująco.
> Titanic , , Age = Child, Survived = No # Sex Class Male Female 1st 0 0 2nd 0 0 3rd 35 17 Crew 0 0 # , , Age = Adult, Survived = No # Sex Class Male Female 1st 118 4 2nd 154 13 3rd 387 89 Crew 670 3 # , , Age = Child, Survived = Yes # Sex Class Male Female 1st 5 1 2nd 11 13 3rd 13 14 Crew 0 0 # , , Age = Adult, Survived = Yes # Sex Class Male Female 1st 57 140 2nd 14 80 3rd 75 76 Crew 192 20 |
Aby przekonać się, którymi zmiennymi są poszczególne wymiary tej macierzy, można zastosować funkcję dimnames().
> dimnames(Titanic) $`Class` [1] "1st" "2nd" "3rd" "Crew" # $Sex [1] "Male" "Female" # $Age [1] "Child" "Adult" # $Survived [1] "No" "Yes" |
Z Takiego układu wynika, że Titanic[,,,”No”] to macierz trójwymiarowa pokazująca liczby osób zmarłych podczas katastrofy, a Titanic[,,,”Yes”] pokazuje liczby osob, które przeżyły. Zapis [1,1,1,”No”] pokazuje liczbę osób zmarłych z pierwszej klasy, dzieci płci męskiej, [1,1,2,”No”] to liczba pasażerów zmarłych z pierwszej klasy dorosłych płci męskiej. Mozna to wykorzystać do przedstawienia proporcji zmarłych i przeżywających katastrofę samych pasażerów w zależności od ich płci i statusu majątkowego (wtedy sumujemy dzieci i dorosłych określonej płci) oraz w zależności od wieku pasażerów i statusu majątkowego (wtedy sumujemy dziewczynki i chłopców oraz dorosłych: kobiety i mężczyzn). Przedstawiono to w następującym skrypcie:
nazwy1 = c("1 klasa", "2 klasa", "3 klasa", "Załoga")
nazwy2 = c("mężczyźni","kobiety")
nazwy3 = c("dzieci", "dorośli")
nazwy4 = c("Zmarli", "Przeżyli")
Titanic1=Titanic[,,"Child",]+Titanic[,,"Adult",]
windows(5, 6)
par(mar=c(0,0,1,0), mgp=c(1.7,0.5,0), mfrow=c(3,2))
for (i in 1:3) for (j in 1:2) pie(c(Titanic1[i,j,"No"],Titanic1[i,j,"Yes"]),
col=c("black", "grey"), labels=nazwy4, ps=12,
main=paste(nazwy1[i],nazwy2[j]))
#
Titanic2=Titanic[,"Male",,]+Titanic[,"Female",,]
windows(5, 6)
par(mar=c(0,0,1,0), mgp=c(1.7,0.5,0), mfrow=c(3,2))
for (i in 1:3) for (j in 1:2) pie(c(Titanic2[i,j,"No"],Titanic2[i,j,"Yes"]),
col=c("black", "grey"), labels=nazwy4, ps=12,
main=paste(nazwy1[i],nazwy3[j]))
|
Skrypt ten generuje następujące zestawienia wykresów kołowych:
Pokazują one zasady jakimi kierują się ludzie w sytuacji, gdy trzeba wybierać kogo ocalić, a kogo nie. Historia nie dała nam bardziej przekonującego dowodu, że w sytuacji, gdy trzeba dokonać takiego wyboru, gatunek nasz skłonny jest chronić najmłodszych, kobiety i także najbogatszych.


