Chybějící hodnoty

Vektory mohou obsahovat i tzv. chybějící hodnoty NA (not available), které symbolizují, že se např. měření nezdařilo nebo se nepovedlo získat hodnotu. Mnoho funkcí v R umí tento fakt respektovat a položku z výpočtů vyřadit. Pozor, NA není nula. Je rozdíl, zda počítáme např. průměr z vektoru c(1, 2, NA, 3) – součet 6 lomeno počtem 3 = 2, a nebo z vektoru c(1, 2, 0, 3) – součet 6 lomeno počtem 4 = 1.5.

ranniTep <- c(65, 58, 72, NA, 66, 65, NA, 70)  # NA je uvedeno u dnů, kdy se subjekt zapomněl změřit

Zkusme vypočítat průměry dle výše uvedených příkladů pomocí funkce mean().

mean(c(1, 2, 0, 3))    # někdo nesprávně nahradil chybějící hodnotu nulou
## [1] 1.5
mean(c(1, 2, NA, 3))   # funkce nás správně upozorní na to, že v datech něco chybí
## [1] NA
mean(c(1, 2, NA, 3), na.rm = TRUE)  # dáváme výslovný příkaz, aby z výpočtu odstranila položky NA
## [1] 2

Úlohy

  1. Proveďte definici proměnné ranniTep dle příkladu na začátku této podkapitoly, a pak z ní vypočtěte průměrnou hodnotu. Vyšlo vám také 66?