
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ů x, y, v případě, že x, y 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)
|
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))
> 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
|