Statystyki opisowe wykorzystuje się do przedstawienia ogólnej charakterystyki danych.
Statystyki opisowe dzielimy na:
Miary położenia - określają przeciętny poziom oraz rozmieszczenie wartości zmiennej:
Miary zmienności - określają granice zmienności danej zmiennej:
Miary asymetrii i koncentracji.
Dane z pakietu gapminder
zawierają dane dla 142 krajów dla lat 1952-2007. Zbiór danych zawiera następujące informacje:
Dane pochodzą z projektu GAPMINDER (http://www.gapminder.org/data/). Kilka informacji po polsku o projekcie GAPMINDER znajduje się na stronie http://analizy.investio.pl/statystyka-jest-ciekawa/.
library(gapminder)
data('gapminder', package ='gapminder')
= subset(gapminder, year==2007) dane2007
Zestaw podstawowych statystyk opisowych obliczany jest za pomocą funkcji summary()
. Funkcja ta oblicza wartość minimalną, wartość maksymalną, pierwszy i trzeci kwartyl, medianę oraz średnią.
summary(dane2007)
## country continent year lifeExp
## Afghanistan: 1 Africa :52 Min. :2007 Min. :39.61
## Albania : 1 Americas:25 1st Qu.:2007 1st Qu.:57.16
## Algeria : 1 Asia :33 Median :2007 Median :71.94
## Angola : 1 Europe :30 Mean :2007 Mean :67.01
## Argentina : 1 Oceania : 2 3rd Qu.:2007 3rd Qu.:76.41
## Australia : 1 Max. :2007 Max. :82.60
## (Other) :136
## pop gdpPercap
## Min. :1.996e+05 Min. : 277.6
## 1st Qu.:4.508e+06 1st Qu.: 1624.8
## Median :1.052e+07 Median : 6124.4
## Mean :4.402e+07 Mean :11680.1
## 3rd Qu.:3.121e+07 3rd Qu.:18008.8
## Max. :1.319e+09 Max. :49357.2
##
W R braki danych zazwyczaj kodowane są jako NA - Not Available.
NA + 1
## [1] NA
2*NA
## [1] NA
= c(1,2,NA)
x mean(x)
## [1] NA
mean(x, na.rm = TRUE)
## [1] 1.5
<- mean(dane2007$lifeExp)
srednia_lifeExp srednia_lifeExp
## [1] 67.00742
Obliczyć średnią wartość dla PKB (gdpPercap) w 2007 roku.
Kwantyle to wartości cechy, które dzielą analizowany zbiór danych na określone części pod względem liczby jednostek. Części te pozostają w stosunku do siebie w określonych proporcjach:
Funkcja quantile()
oblicza dowolną wartość kwantyli. Argument probs pozwala na zdefyniowanie dowolnych wartości, które mają zostać wyliczone. Argument ten przyjmuje wartości z przedziału od 0 do 1.
Funkcja quantile()
domyślnie zwraca wartośći kwartyli.
<- quantile(dane2007$lifeExp)
kwartyle kwartyle
## 0% 25% 50% 75% 100%
## 39.61300 57.16025 71.93550 76.41325 82.60300
Kwartyle są także obliczane przez funkcję summary()
, która dodatkowo zwraca także wartości minimalną, maksymalną oraz średnią.
W poniższym przykładzie seq(0,1,0.1) zwraca sekwencję wartości od 0 do 1 z krokiem co 0.1. Odpowiada to podziałowi danych na 10 równych części.
<- quantile(dane2007$lifeExp, probs = seq(0, 1, 0.1))
decyle decyle
## 0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
## 39.6130 48.1734 54.1814 59.8127 67.0006 71.9355 73.2048 75.4719 78.2668 79.8223
## 100%
## 82.6030
W poniższym przykładzie zbiór zostanie podzielony na 100 równych części.
<- quantile(dane2007$lifeExp, probs = seq(0, 1, 0.01))
percentyle percentyle
## 0% 1% 2% 3% 4% 5% 6% 7%
## 39.61300 42.20582 42.53488 42.62397 43.21484 43.87365 45.17202 46.16868
## 8% 9% 10% 11% 12% 13% 14% 15%
## 46.40872 46.73593 48.17340 48.31575 49.25812 49.86050 50.59354 50.85010
## 16% 17% 18% 19% 20% 21% 22% 23%
## 51.56272 52.27352 52.66482 52.93839 54.18140 54.66464 55.33570 56.31703
## 24% 25% 26% 27% 28% 29% 30% 31%
## 56.73388 57.16025 58.29080 58.61809 59.44540 59.53433 59.81270 60.65674
## 32% 33% 34% 35% 36% 37% 38% 39%
## 62.14448 62.89092 63.74162 64.09770 64.56984 65.20827 65.50910 65.55374
## 40% 41% 42% 43% 44% 45% 46% 47%
## 67.00060 69.33982 70.21142 70.48391 70.66256 71.05400 71.31364 71.49309
## 48% 49% 50% 51% 52% 53% 54% 55%
## 71.73152 71.78609 71.93550 72.21322 72.32948 72.39438 72.48426 72.55260
## 56% 57% 58% 59% 60% 61% 62% 63%
## 72.76860 72.83356 72.89680 72.96936 73.20480 73.42525 73.82092 73.94707
## 64% 65% 66% 67% 68% 69% 70% 71%
## 74.03584 74.20670 74.26664 74.59940 74.82932 75.08854 75.47190 75.57092
## 72% 73% 74% 75% 76% 77% 78% 79%
## 75.63760 75.74044 76.25926 76.41325 76.44904 77.11414 77.91924 78.15416
## 80% 81% 82% 83% 84% 85% 86% 87%
## 78.26680 78.34628 78.49486 78.62669 78.76184 78.86955 79.33718 79.41873
## 88% 89% 90% 91% 92% 93% 94% 95%
## 79.44436 79.61971 79.82230 80.04144 80.20176 80.55991 80.65516 80.74060
## 96% 97% 98% 99% 100%
## 80.90452 81.16738 81.71108 82.02309 82.60300
W poniższym przykładzie zostanie wyliczony 5 oraz 95 percentyl.
<- quantile(dane2007$lifeExp, probs = c(0.05, 0.95))
q q
## 5% 95%
## 43.87365 80.74060
Obliczyć pierwszy, trzeci kwartyl oraz decyle dla gdpPercap w 2007 roku.
Mediana to wartość, która dzieli zbiór danych na 2 równe części. Mediana obliczana jest przez funkcję median()
.
<- median(dane2007$lifeExp)
median_lifeExp median_lifeExp
## [1] 71.9355
Obliczyć medianę dla gdpPercap w 2007 roku.
Podsumowanie: Warto podawać obie wartości.
<- min(dane2007$lifeExp)
min_lifeExp min_lifeExp
## [1] 39.613
<- max(dane2007$lifeExp)
max_lifeExp max_lifeExp
## [1] 82.603
range(dane2007$lifeExp)
## [1] 39.613 82.603
<- max(dane2007$lifeExp) - min(dane2007$lifeExp) range_lifeExp
Uwaga! W R funkcja range()
zwraca wektor składający się z dwóch wartości - minimalnej oraz maksymalnej, a nie rostęp (różnicę między tymi wartościami).
Obliczyć rozstęp dla gdpPercap w 2007 roku
<- IQR(dane2007$lifeExp) IQR_lifeExp
Obliczyć rozstęp kwartylowy dla gdpPercap w 2007 roku
<- var(dane2007$lifeExp) var_lifeExp
<- sd(dane2007$lifeExp)
sd_lifeExp sd_lifeExp
## [1] 12.07302
Jakie jest odchylenie standardowe dla gdpPercap w 2007 roku
Wykorzystując dane z pakietu gapminder
proszę obliczyć: