5.2 Funkce v R

V R je funkce objekt jako jakýkoli jiný. To znamená, že

  • vytvořenou funkci jde vložit do proměnné
  • funkci jde předat jako parametr jiné funkci
  • funkci můžeme vytvořit i uvnitř jiné funkce (nested function)
  • jedna funkce může vracet jinou funkci jako svou hodnotu

Funkci tvoří tři části:

  • interface funkce, tj. argumenty, které funkce bere; v R se to nazývá formals; funkce formals() vrátí seznam argumentů funkce
  • tělo funkce, tj. kód funkce; funkce body() vrací kód uvnitř funkce
  • prostředí (environment) funkce, které zahrnuje proměnné funkce; funkce environment() vrací prostředí funkce

Funkce v R mohou mít vedlejší účinky (side effects). Příkladem takové funkce je funkce print() – místo, aby vracela nějakou hodnotu, vypíše svůj argument nějakým způsobem do konzoly. Je jednodušší a bezpečnější psát čisté funkce bez vedlejších účinků.