15 Sumarizace proměnných
Sumarizace proměnncých je prováděně velmi podobně jako jejich transformace, slouží k ní ale funkce summarise()
. Pokud jste si již osvojili funkci mutate()
z předchozí kapitoly, budete i zde jako doma.
15.1 Jednoduchá sumarizace
Jak již bylo zmíněno, základní aplikace summarise()
je velmi podobná transformaci proměnných. Výpočet průměru a směrodatné odchylky průměrné naděje na dožití je tedy jednodochý. V rámci summarise()
je možné aplikovat nejen klasické funkce jako jsou mean()
nebo sd()
, ale i základní matematické operace. Stejně tak je možné i používat i funkce vnořené. Toho využijme pro výpočet průměrné absolutní odchylky (mean absolute deviation), alternativy ke směrodatné odchylce:
%>%
countries summarise(mean = mean(life_exp, na.rm = TRUE),
sd = sd(life_exp, na.rm = TRUE),
mae = mean(abs(life_exp - mean(life_exp, na.rm = TRUE)), na.rm = TRUE))
# A tibble: 1 × 3
mean sd mae
<dbl> <dbl> <dbl>
1 79.6 2.82 2.58
Průměrná naděje na dožití v našem datasetu je 79.6 let, se směrodatnou odchylkou 2.8 roku a průměrnou absolutní odchylkou 2.6 roku. Protože naději na dožití některých zemí neznáme, je nutné využít na.rm = TRUE
pro odstranění chybějících hodnot (viz Sekce 6.2).
15.2 Sumarizace po skupinách
Funkci summarise()
lze jako mnoho již představených kombinovat s funkcí group_by()
pro skupinovou analýzu. Pro získání průměru, směrodatné odchylky a průměrné absolutní odchylky naděje na dožití postsovětských a západních zemí:
%>%
countries group_by(postsoviet) %>%
summarise(mean = mean(life_exp, na.rm = TRUE),
sd = sd(life_exp, na.rm = TRUE),
mae = mean(abs(life_exp - mean(life_exp, na.rm = TRUE)), na.rm = TRUE))
# A tibble: 2 × 4
postsoviet mean sd mae
<chr> <dbl> <dbl> <dbl>
1 no 81.4 1.76 1.06
2 yes 77.1 1.97 1.57
Postsovětské země mají v průměru nižší naději na dožití, než ty západní, jsou ale také mezi nimi větší rozdíly, což je možné vidět jak na základě směrodatné, tak absolutní odchylky.