Projekt R

Podstawy R – Analiza danych cz.4 “Wykresy”

Wczytane i poprawione w R dane możemy analizować z wykorzystaniem statystyk, jak również ich prezentacji na różnych wykresach. W tej części kursu poznamy kilka funkcji umożliwiających graficzną prezentację naszych wyników. Do ćwiczenia wykorzystamy użytą już wcześniej w kursie informację o ludności w polskich powiatach (pobierz).

Na początku wczytujemy dane do R:

data = read.table('D:/powiaty_ludność.txt', header = TRUE, sep = '\t', stringsAsFactors = FALSE)

Zaczniemy od wyświetlenia najprostszego wykresu punktowego prezentującego na osi X – wielkość powiatu, a na osi Y – liczbę mieszkańców. Do prezentowania informacji za pomocą punktów służy funkcja plot(). Ogólna forma tej funkcji wygląda następująco:

plot (dane na osi x, dane na osi y) 

Oba zbiory danych muszą mieć taką samą wielkość. Wyświetlmy przykładowy wykres z wykorzystaniem naszych danych:

plot(data$pow_ha,data$ludność)

Dodajmy tytuł do wykresu używając:

title('Wykres powierzchni powiatu do liczby ludności')

Możemy dowolnie modyfikować wygląd wykresów punktowych poprzez dodanie argumentów w funkcji plot():

  • main – nazwa wykresu,
  • col – kolor punktów,
  • pch – symbol punktów,
  • cex – wielkość punktów,
  • xlab – opis osi X,
  • ylab – opis osi Y.

Wprowadźmy do naszego wykresu kilka dodatkowych argumentów i wyświetlmy wynik:

plot(data$pow_ha, data$ludność, main = 'Wykres powierzchni powiatu do liczby ludności', col = 'red', pch = 20, cex = 2, xlab = 'Powierzchnia powiaty w ha', ylab = 'Liczba ludności')

Co, gdy chcemy wyświetlić linie, a nie punkty? Musimy skorzystać z tej samej funkcji plot() z dodatkowym atrybutem type określającym typ wykresu równym ‘l’.

Policzmy najpierw dane, które przedstawimy liniowo, np. wykres funkcji potęgowej:

x = c(1:100)
y = x^2

Wyświetlmy wyniki za pomocą wykresu liniowego:

plot(x,y,type = 'l')

Drugim typem przydatnych wykresów są histogramy. Do ich wyświetlania służy funkcja hist(). Stwórzmy histogram dla liczby ludności w powiatach:

hist(data$ludność)

Liczba przedziałów w domyślnym ustawieniu histogramu jest za mała, aby dobrze przedstawić nasze dane. Zwiększyć ich liczbę możemy używając argumentu breaks określającego liczbę przedziałów:

hist(data$ludność, breaks = 100)

W analizie danych przydatne się na pewno wykresy słupkowe. Do ich tworzenia służy funkcja barplot(). Policzmy najpierw dane, które będziemy mogli wyświetlić za pomocą tego typu wykresu, np. liczbę powiatów w województwach:

liczba_pow = table(data$województwo)

liczba_pow

      dolnośląskie  kujawsko-pomorskie           lubelskie            lubuskie             łódzkie         małopolskie         mazowieckie

                30                  23                  24                  14                  24                  22                  42

          opolskie        podkarpackie           podlaskie           pomorskie             śląskie      świętokrzyskie warmińsko-mazurskie

                12                  25                  17                  20                  36                  14                  21

     wielkopolskie  zachodniopomorskie

                35                  21

Wyliczone dane wyświetlamy za pomocą wykresu słupkowego:

barplot(liczba_pow)

Wykres słupkowy możemy również modyfikować z wykorzystaniem atrybutów funkcji. W naszym wykresie zmieńmy kierunek wyświetlania opisów na osi X (argument las) oraz typ prezentacji wykresu na horyzontalny (argument horiz):

barplot(liczba_pow, horiz = TRUE, las = 2)

Wykres kołowy stworzymy korzystając z funkcji pie():

pie(liczba_pow)

R ma więcej możliwości tworzenia prezentacji graficznej danych i wyników. My pokazaliśmy Wam te najczęściej używane znane chociażby z Excela. Pamiętajmy, że wykresy możemy dowolnie modyfikować argumentami funkcji tak aby w najlepszy sposobów prezentowały wyniki naszych analiz.

Tym postem chcemy zakończyć kurs podstaw R. Mamy nadzieję, że pomógł Wam w poznaniu podstaw tego szybko rozwijającego się języka. Jeżeli chcecie rozszerzyć wiedzę z którejś części kursu zapraszamy do kontaktu przez formularz kontaktowy.