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.