Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyAnalýza dat v R Rozšířené základy R R jako programovací jazyk Funkce a skripty

Logo Matematická biologie

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.

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