2.8 Domácí úkol
Soubor income_data.RData
obsahuje vektor příjmů tisíce lidí. Vaším úkolem je spočítat průměrný příjem těchto lidí. K tomu slouží funkce mean()
. Má to však dva háčky:
Některá pozorování v datech chybí (jsou nahrazena hodnotou
NA
). Vy chcete spočítat průměrný příjem těch lidí, pro která máte pozorování, tj. chcete vyloučit všechny hodnotyNA
.Většina lidí v datovém souboru má příjem mezi 10 a 30 tisíci Kč, data však obsahují i několik odlehlých pozorování lidí, kteří vydělávají 1 milion Kč měsíčně. Zahrnutí těchto “milionářů” by zkreslilo vypovídací schopnost průměru pro “obyčejné lidi”, proto chcete vyloučit i je. Standardní řešení je tzv. rezistentní průměr, ze kterého se vynechá určitý počet nejnižších i nejvyšších pozorování. Vy chcete vynechat 5 % pozorování na obou stranách rozložení (myšleno 5 % pozorování dohromady).
Oba problémy umí funkce mean()
vyřešit, pokud nastavíte správně příslušné parametry – detaily najdete v dokumentaci. (Pomoc: logické hodnoty jsou v R dvě: TRUE
a FALSE
.)
Výsledkem vaší práce bude upravený skript hw_uvod_do_R.R
, který bude fungovat pro jakákoli data, která splňují výše zadané podmínky. Vaším úkolem je upravit jeden jediný řádek kódu. Ostatní řádky ani název souboru v žádném případě neměňte! Upravený soubor uložte do odevzdávárny “hw_uvod_do_R”. Pamatujte, že se splnění úkolu bude testovat s jinými daty, než která máte zadaná jako vzor.
Poznámka: V případě příjmů je lepší rezistentní statistikou středu rozdělení medián. Tento úkol však vyžaduje výpočet rezistentního průměru.