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:
1 |
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:
1 2 |
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:
1 2 |
data$powiat[which(data$ludność==max(data$ludność))] [1] "m. st. Warszawa" |
Minimalną liczbę ludności wyświetlimy funkcją min:
1 2 |
min(data$ludność) [1] 20891 |
Najmniej zaludniony powiat to:
1 2 |
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:
1 2 |
range(data$ludność) [1] 20891 1724404 |
Do wyliczenia średniej wartości służy funkcja mean:
1 2 |
mean(data$ludność) [1] 101304.4 |
Medianę policzymy dzięki funkcji median:
1 2 |
median(data$ludność) [1] 76436 |
Odchylenie standardowe da nam funkcja sd:
1 2 |
sd(data$ludność) [1] 116999.1 |
A wariancję var:
1 2 |
var(data$ludność) [1] 13688782521 |
Kwartyle policzymy używając funkcji quantile, dla której zdefiniować musimy, który z nich chcemy wyznaczyć:
1 2 3 4 |
quantile(data$ludność,0.3) 30% 58012.5 |
Wyświetlić podstawowe statystyki dla konkretnych wartości możemy funkcją summary:
1 2 3 4 5 |
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).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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.