
Funkce a skripty
Zkušený analytik při své práci využívá skripty i funkce. Všechny rutinní procedury, které se často opakují má uložené ve formě více zobecněných funkcí, zatímco skripty s komentáři slouží k propojení funkcí a monitorování jednotlivých kroků analýzy.
Pro základy práce s funkcemi si prosím nejdříve nastudujte výukový modul Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Programování v R Funkce a dávkové soubory.
Skript je v podstatě soubor příkazů určených k exekuci v R. Jsou-li tyto příkazy zobecněné a uspořádané v lokálním prostředí tak, že společně dávají jeden výstup, jedná se o funkci. Funkce je v podstatě ohraničený skript.
Tohle je skript připravený k exekuci v R:
a <- 2
b <- 3
result <- a/b
Tohle je tentýž skript zobecněný do funkce, a a b se staly argumenty funkce:
podil <- function(a,b)
{
result <- a/b
return(result)
}
A tohle aplikace funkce:
> podil(a=2,b=3)
[1] 0.6666667
Pro zpřehlednění kódu je vhodné někdy spouštět skripty z dávkových souborů. To se hodí zejména jedná-li se o specifické příkazy v analýze, jejichž zobecnění do funkce se nevyplatí (používají se pouze u této analýzy).
Lze vytvořit textový soubor (přípona může být .txt, ale i .R - doporučujeme používat .R, aby se odlišilo, že se jedná o soubor s příkazy pro R a ne o textový popis analýzy), který bude obsahovat celý výše uvedený skript:
a <- 2
b <- 3
result <- a/b
Jeho načtením s pomocí funkce source() pak dojde k vykonání všech příkazů v konzole:
> source("skript.R")
Je to také způsob, jak spustit příkazy v dávkovém módu z terminálu: $R CMD BATCH skript.R
Tímto způsobem se také dají ukládat funkce, které se pak do prostředí R načtou.
Funkce source() je v podstatě ekvivalent napsání všech příkazů ze souboru přímo do konzoly.