Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Konstanty, operátory a matematické výpočty Matematické funkce

Logo Matematická biologie

Matematické funkce

Předpokládejme, že objekt x je numerický, komplexní, logický vektor nebo pole, operace jsou prováděny po složkách.

abs(x), sqrt(x)    absolutní hodnota a druhá odmocnina objektu x
sign(x)    signum objektu x

Logaritmické a exponenciální funkce:
log(x), log10(x), log2(x)    přirozený logaritmus, logaritmus se základem 10 a 2
log(x, base)    logaritmus se základem base
exp(x)    exponenciální funkce x

Trigonometrické a hyperbolické funkce:
cos(x), sin(x), tan(x), cosh(x), sinh(x), tanh(x)

Inverzní trigonometrické a hyperbolické funkce:
acos(x), asin(x), atan(x), acosh(x), asinh(x), atanh(x)

gamma(x)    gamma funkce pro kladná reálná čísla x
choose(n, k)   kombinační číslo pro každé reálné číslo n a přirozené číslo k, n  k
factorial(x)    faktoriál x

max(x), min(x), sum(x), prod(x)   vrací maximální a minimální prvek, součet a součin prvků argumentu x. Pro objekty typu matice nebo pole funkce sum(x) a prod(x) vrací součet, resp. součin všech prvků.

MATLAB aplikuje funkce sum() a prod() na matice po sloupcích.

cummax(x), cummin(x), cumsum(x), cumprod(x)   vrací vektor, jehož složkami jsou maximum, minimum, kumulativní součet a součin prvků argumentu x 

> a <- c(1, 2, 3, 5, 8, 2, 4, 1, 2, 2)
> cumsum(a)
[1]    1    3    6    11    19    21    25    26    28  30
> cummin(a)    vždy nerostoucí posloupnost prvků
[1]   1    1    1    1    1    1    1    1    1    1
> cummax(a)}{vždy neklesající posloupnost prvků
[1]    1    2    3    5    8    8    8    8    8    8

range(x)    vektor obsahující minimum a maximum objektu x, range(x) je ekvivalentní příkazu c(min(x), max(x))
mean(x), median(x)    průměr a medián objektu x
sd(x)    směrodatná odchylka objektu x, v případě, že x je matice, sd(x) vrací směrodatnou odchylku jejích sloupců
var(x), cov(x, y), cor(x, y)    rozptyl x, kovariance a korelace vektorů xy, v případě, že xy jsou matice, kovariance a korelace jsou počítány mezi sloupci x a y
quantile(x)    generická funkce, vrací minimum, dolní kvartil, medián, horní kvartil a maximum objektu x

> c(min(a), max(a)); range(a)
[1]    1    8
[1]    1    8
> mean(a)
[1]    3
> var(a)
[1]    4.666667
> quantile(a)
0 %
25 %
50 %
75 %
100 %
1.00
2.00
2.00
3.75
8.00

pmax(x, y, z,...), pmin(x, y, z,...)    objekt maximálních/minimálních prvků na odpovídajících si pozicích

> b <- 1:10
> pmin(a, b)
[1]   1    2    3    4    5    2    4    1    2    2

Pro pole o 2 a více dimenzích s numerickými, komplexními nebo logickými hodnotami nebo pro datové tabulky můžeme použít následující funkce, které vrací průměry, součty a rozptyly po sloupcích či řádcích:

colMeans(x), colSums(x), colVars(x)
rowMeans(x), rowSums(x), rowVars(x)

> (e <- matrix(a,5))

 
[,1]
[,2]
[1,]
1
2
[2,]
2
4
[3,]
3
1
[4,]
5
2
[5,]
8
2
> rowSums(e)
[1]    3    6    4    7    10

sort(x, decreasing, na.last, index.return)    seřazení objektu x

decreasing=F vzestupné pořadí (implicitní nastavení), decreasing=T sestupné pořadí,
na.last=NA zajišťuje vynechání hodnot NA (implicitní nastavení), na.last=T zajišťuje, aby hodnoty NA byly řazeny na konec, na.last=F řadí hodnoty NA na začátek
index.return=T vypíše i původní pořadí hodnot

order(x, decreasing, na.last)    vypíše indexy seřazených hodnot

na.last=T řadí hodnoty NA na konec (implicitní nastavení), na.last=F řadí hodnoty NA na začátek, na.last=NA hodnoty NA vynechává

rank(x, na.last, ties.method)    vypíše pořadí jednotlivých hodnot odpovídajících vzestupně seřazenému vektoru x

na.last stejně jako u funkce order
ties.method nabývá jedné z hodnot c("first", "random", "average", "max", "min") a používá se pro specifikaci řazení shodných hodnot. "first" řadí vzestupně podle pozice v řadě, "random" řadí náhodně, "average" podle průměrného pořadí (implicitní nastavení) a "min"/"max" podle hodnoty minimálního/maximálního pořadí

rev(x)   převrácení pořadí hodnot vektoru

> a <- c(1, 2, 3, 5, 8, NA, 2, 4, 1, 2, 2)
> sort(a)    hodnoty NA automaticky vynechává
[1]    1    1    2    2    2    2    3    4    5    8
> sort(a, na.last=F)
[1]    NA    1    1    2    2    2    2    3    4    5    8
> order(a)
[1]    1    9    2    7    10    11    3    8    4    5    6
> rank(a, ties.method="average")
[1]    1.5    4.5    7.0    9.0    10.0    11.0    4.5    8.0    1.5    4.5    4.5
> rev(a)
[1]    2    2    1    4    2    NA    8    5    3    2    1

 

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