5.4 Volání funkce

Funkce se volá svým jménem se závorkami, viz výše. Argumenty mohou být funkci předány třemi způsoby:

  • jménem, např. f(a = 1, b = 2) – v tomto případě nezáleží na pořadí parametrů
  • pozicí, např. ve funkci f(a, b) znamená volání f(1, 2), že \(a=1\) a \(b=2\)
  • pokud má parametr implicitní hodnotu, je možné jej vynechat – R vezme místo parametru implicitní hodnotu

Při zadání parametru jménem R umožňuje jméno parametru zkrátit, pokud je zkratka jednoznačná. Např. ve funkci f(number, notalk) je možné první parametr zkrátit na num i nu, ovšem ne na n, protože n není jednoznačné – R by nevědělo, zda n znamená number, nebo notalk. Zkracování parametrů zjednodušuje interaktivní práci; při psaní skriptů se však výrazně nedoporučuje, protože autor funkce by později mohl přidat další parametr a zkrácené jméno už by nemuselo být jednoznačné.

Předávání parametrů těmito třemi typy jde libovolně míchat, tj. volat některé parametry pozicí, jiné jménem a další (s implicitní hodnotou) vynechat. V takovém případě postupuje R takto:

  1. vezme parametry volané plným jménem (exact matching) a přiřadí jim hodnoty
  2. vezme parametry volané zkráceným jménem (partial matching) a přiřadí jim hodnoty
  3. vezme parametry pozičně

Pokud nechcete mít v kódu zmatek, doporučuji následující: první parametry funkce volat pozicí a jménem volat až parametry za nimi.