Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyCvičebnice jazyka R Dokumentace k základním funkcím function

function

Definice funkce

function {base} Dokumentace R v češtině

Popis

Tato funkce posyktuje základní mechanismy pro definování nových funkcí v jazyce R.

Použití

function( arglist ) expr
return(value)

Argumenty

arglist

může obsahovat žádný, jeden, nebo více názvů. Lze zadat i ve formátu název=výraz.

expr

výraz.

value

výraz.

Detaily

Názvy v seznamu argumentů mohou být nestandardní, uvedené ve zpětných uvozovkách.

Pokud chybí value, je navrácena NULL. Pokud se jedná o samostatný výraz, je navrácena hodnota vyhodnoceného výrazu. (Výraz je vyhodnocen hned, jak je volána funkce return, v hodnotícím rámci funkce a před vyhodnocením výrazu on.exit.)

Pokud funkce dojde nakonec bez volání return, navrátí se hodnota posledního hodnoceného výrazu.

Technické detaily

V R existují i jiné typy funkcí: popsaný typ se nazývá uzávěr (closure, název pochází z LISP) a odlišuje se od primitivních funkcí.

Uzávěry mají tři části: formals (seznam argumentů), body (expr v části ‘Použití’) a také environment, které poskytuje prostor pro vyhodnocování.

K dispozici je i další volitelný komponent pro případ, že je uzávěr kompilován do bajtkódu. Za normálních okolností není pro uživatele viditelný, ovšem zobrazí se v momentu, kdy dojde k vytištění funkce.

Reference

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Příklady

norm <- function(x) sqrt(x%*%x)
norm(1:4)

## Anonymní funkce:
(function(x, y){ z <- x^2 + y^2; x+y+z })(0:7, 1)

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity