Projekt R

Podstawy R – Analiza danych cz.3 “Statystyki”

Wczytaliśmy dane i sprawdziliśmy ich poprawność. Poznajmy kilka funkcji pozwalających je w prosty sposób przeanalizować. Do analizy wykorzystamy plik z ludnością w powiatach, który wczytywaliśmy w części pierwszej (pobierz). Wczytajmy go ponownie:

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

Najpierw chcemy znaleźć w kolumnie ludność maksymalną liczbę ludności w powiecie. Służy do tego funkcja max:

max(data$ludność)
[1] 1724404

Nazwę powiatu o największej liczbie ludności możemy wyświetlić z wykorzystaniem wyrażenia, którego używaliśmy już w poprzednim poście:

data$powiat[which(data$ludność==max(data$ludność))]
[1] "m. st. Warszawa"

Minimalną liczbę ludności wyświetlimy funkcją min:

min(data$ludność)
[1] 20891

Najmniej zaludniony powiat to:

data$powiat[which(data$ludność==min(data$ludność))]
[1] "sejneński"

W przypadku, gdy chcemy za jednym rzutem poznać minimalną i maksymalną wartość danych możemy skorzystać z funkcji range:

range(data$ludność)
[1]   20891 1724404

Do wyliczenia średniej wartości służy funkcja mean:

mean(data$ludność)
[1] 101304.4

Medianę policzymy dzięki funkcji median:

median(data$ludność)
[1] 76436

Odchylenie standardowe da nam funkcja sd:

sd(data$ludność)
[1] 116999.1

A wariancję var:

var(data$ludność)
[1] 13688782521

Kwartyle policzymy używając funkcji quantile, dla której zdefiniować musimy, który z nich chcemy wyznaczyć:

quantile(data$ludność,0.3)

   30%
58012.5

Wyświetlić podstawowe statystyki dla konkretnych wartości możemy funkcją summary:

summary(data$ludność)

  Min. 1st Qu.  Median    Mean 3rd Qu.    Max.

 20890   55720   76440  101300  111900 1724000

Przydatna do analizy będzie również funkcja aggregate pozwalająca na analizę wartości w grupach. W naszym przypadku np. po województwach. Policzmy średnią liczbę ludności w powiatach z podziałem na województwa używając tej funkcji. Jako argumenty musimy podać wartości, po czym będziemy grupować obliczenia jako listę (by) oraz jaką funkcję chcemy wykorzystać w obliczeniach (FUN).

aggregate(data$ludność, by = list(data$województwo), FUN = 'mean')

              Group.1         x

1         dolnośląskie  96999.90

2   kujawsko-pomorskie  90981.04

3            lubelskie  89839.58

4             lubuskie  72962.14

5              łódzkie 104712.21

6          małopolskie 152753.68

7          mazowieckie 126591.43

8             opolskie  83701.33

9         podkarpackie  85171.76

10           podlaskie  70292.06

11           pomorskie 114790.55

12             śląskie 127762.42

13      świętokrzyskie  90588.50

14 warmińsko-mazurskie  68900.71

15       wielkopolskie  99057.60

16  zachodniopomorskie  81850.52

R ma bardzo wiele funkcji przydatnych analizie danych, ponieważ do tego w szczególności został stworzony. My chcieliśmy pokazać tylko te podstawowe. Osoby zainteresowane pogłębieniem wiedzy w tym zakresie odsyłamy do dokumentacji zawierającej bardzo szczegółowe opisy każdej z funkcji. W następnym poście pokażemy jak prezentować dane na wykresach.