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

max

Maxima a minima

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

Popis

Vrací (regulární nebo paralelní) maxima a minima vstupních hodnot.

pmax*() a pmin*() vezmou jeden nebo více vektorů jako argumenty, recyklují je na běžnou délku a vrací samostatný vektor, který udává ‘paralelní’ maxima (nebo minima) argumentových vektorů.

Použití

max(..., na.rm = FALSE)
min(..., na.rm = FALSE)

pmax(..., na.rm = FALSE)
pmin(..., na.rm = FALSE)

pmax.int(..., na.rm = FALSE)
pmin.int(..., na.rm = FALSE)

Argumenty

...

numerické nebo znakové argumenty (viz poznámka).

na.rm

logická proměnná indikující, jestli chybějící hodnoty mají být odstraněny.

Detaily

max a min vrací maximum nebo minimum všech hodnot v jejich argumentech, jako integer, jestli jsou všechny logické proměnné nebo integery, jako double, jestli jsou všechny numericé, a jinak jako znaky.

Jestli na.rm je FALSE, hodnota NA v kterémkoliv argumentu způsobí vrácení hodnoty NA, jinak jsou hodnoty NA ignorované.

Minimum a maximum numerické prázdné množiny jsou +Inf a -Inf (v takovémto pořadí!), co zabezpečuje transitivitu, např., min(x1, min(x2)) == min(x1, x2). Pro numerické x max(x) == -Inf a min(x) == +Inf když length(x) == 0 (po odstranění chybějících hodnot, jestli je vyžadováno). Avšak, pmax a pmin vrátí NA, jestli jsou všechny paralelní elementy NA, také pro na.rm = TRUE.

pmax a pmin vezme jako argumenty jeden nebo více vektorů (nebo matic) a vrátí jeden vektor udávající ‘paralelní’ maxima (nebo minima) vektorů. První element výsledku je maximum (minimum) prvních elementů všech argumentů, druhý element výsledku je maximum (minimum) druhých elementů a tak dál. Kratší vstupy (nenulové délky) se recyklují, je-li to potřebné. Atributy (viz attributes: jako například names nebo dim) se zkopírují z prvního argumentu (jestli to je možné, např., not pro objekt S4).

pmax.int a pmin.int jsou rychlejší interní verze používány jenom tehdy, když všechny argumenty jsou atomické vektory a žádné třídy neexistují: zbaví se všech atributú. (Všimněte si, že všechny verze selhávají pro originální a komplexní vektory, protože tyto nemají žádné uspořádání.)

max a min jsou generické funkce: mehody pro ně můžou být definovány individuálně, nebo přes skupinové generikum Summary. Aby tohle fungovalo správně, argumenty ... by měli být nepojmenované, a a poselství by mělo být na prvním argumentu.

Podle definice min/max numerického vektoru obsahujícího NaN je NaN, s výjimkou, že min/max jakéhokoliv vektoru obsahujícího NA je NA, i když obsahuje také NaN. Všimněte si, že max(NA, Inf) == NA, i když by maximum bylo Inf nezávisle na tom, čím by měla být chybějící hodnota.

Znakové verze jsou uspořádány lexikograficky, a tohle závisí na sekvenci porovnávání používaného prostředí: podrobnosti udává nápověda pro ‘Comparison&rsquo. max/min prázdného znakového vektoru je definována jako znak NA. (Mohli by se vést spory o tom, že "" je nejmenší znakový element, maximum by mělo být "", ale neexistuje žádný očividný kandidát pro minimum.)

Hodnota

Pro min nebo max, vektor s délkou jeden. Pro pmin nebo pmax, vektor s délkou nejdelšího z vstupních vektorů, nebo s nulovou délkou, jestli měl jeden ze vstupů nulovou délku.

Typ výsledku bude udaný nejvyšším vstupem podle pořadí integer < double < znak.

Pro min a max, jestli existují jenom numerické vstupy a všechny jsou prázdne (po možném odstranění NAs), výsledek je double (Inf nebo -Inf).

S4 methody

max a min jsou součástí skupinového generika S4 Summary. Metody pro ně musí obsahovat podpis x, ..., na.rm.

Poznámka

‘Numerické’ argumenty jsou vektory typu integer a numeric, a logical (převedené na integer). Z historických důvodů je NULL akceptována jako ekvivalent k integer(0).

pmax a pmin fungují také na objektech tříd S3 nebo S4 s vhodnými metodami pro srovnání, is.na a rep (jestli je potřebné recyklování argumentů).

Reference

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

Viz také

range (obojí min and max) a which.min (which.max) pro arg min, tzn., polohu extremních hodnot.

‘plotmath’ pro použití min v anotaci grafu.

Příklady

require(stats); require(graphics)
min(5:1, pi) #-> one number
pmin(5:1, pi) #-> 5 numbers

x <- sort(rnorm(100)); cH <- 1.35
pmin(cH, quantile(x)) # no names
pmin(quantile(x), cH) # has names
plot(x, pmin(cH, pmax(-cH, x)), type = "b", main = "Huber's function")

cut01 <- function(x) pmax(pmin(x, 1), 0)
curve( x^2 - 1/4, -1.4, 1.5, col = 2)
curve(cut01(x^2 - 1/4), col = "blue", add = TRUE, n = 500)
## pmax(), pmin() zachovává atributy *prvního* argumentu
D <- diag(x = (3:1)/4) ; n0 <- numeric()
stopifnot(identical(D, cut01(D) ),
identical(n0, cut01(n0)),
identical(n0, cut01(NULL)),
identical(n0, pmax(3:1, n0, 2)),
identical(n0, pmax(n0, 4)))

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