[R] round

Zaokrouhlování čísel

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

Popis

ceiling vezme jeden číselný argument x a vrátí číselný vektor obsahující nejmenší integery ne menší než korespondující elementy x.

floor vezme jeden číselný argument x a vrátí číselný vektor obsahující největší integery ne větší než korespondující elementy x.

trunc vezme jeden číselný argument x a vrátí číselný vektor obsahující integery vzniklé skrácením hodnot v x k 0 (bez zaokrouhlení).

round zaokrouhlí hodnoty prvního výrazu na určitý počet desetinných míst (předvolené 0).

signif zaokrouhlí hodnoty prvního výrazu na určitý počet signifikantních číslic.

Použití

ceiling(x)
floor(x)
trunc(x, ...)

round(x, digits = 0)
signif(x, digits = 6)

Argumenty

x

číselný vektor. Anebo, pro round a signif, komplexní vektor.

digits

integer indikující počet desetinných míst (round) nebo signifikantních číslic (signif), které se mají použít. Záporné hodnoty jsou povoleny (viz ‘Detaily’).

...

argumenty, které se předají metodám.

Detaily

Tyto jsou generické funkce: methody pro ně můžou být definovány individuálně nebo přes Math skupinové generika.

Všimněte si, že pro zaokrouhlení 5 se očekává použití IEC 60559 standardu - ‘jeď k párnému číslu’. Proto round(0.5) je 0 a round(-1.5) je -2. Ovšem, tohle závisí na službách operačního systému a na reprezentační chybě (protože např. 0.15 není reprezentováno přesně, zaokrouhlovací pravidlo se vztahuje k reprezentovanému číslu, ne k vytisknutému číslu, takže round(0.15, 1) může být buď 0.1 anebo 0.2).

Zaokrouhlování k zápornému počtu číslic znamená zaokrouhlování k mocnině 10, takže například round(x, digits = -2) zaokrouhlí k nejbližší stovce.

Pro signif jsou rozeznávány hodnoty číslic 1...22, a nechybějící hodnoty jsou zaokrouhleny k nejbližšímu integeru v daném rozsahu. Komplexní čísla jsou zaokrouhleny tak, aby byl zachován specifický počet číslic ve větší komponentě. Každý element vektoru je zaokrouhlený individuálně, na rozdíl od tisku.

Tyto jsou všechny primitivní funkce.

S4 metody

Tyto jsou všechny (interně) S4 generika.

ceiling, floor a trunc jsou členové Math skupinových generik. Jako S4 generikum, trunc má jenom jeden argument.

round a signif jsou členové Math2 skupinových generik.

Varování

Skutečnosti počítačové aritmetiky můžou způsobit nečekané výsledky, zejména u floor a ceiling. Například, "víme", že floor(log(x, base = 8)) pro x = 8 je 1, ale 0 byla viděna na R platformě. Normálně je nutné použít toleranci.

Viz také

as.integer

Examples

round(.5 + -2:4) # IEEE zaokrouhlování: -2 0 0 2 2 4 4
( x1 <- seq(-2, 4, by = .5) )
round(x1) #-- IEEE zaokrouhlování !
x1[trunc(x1) != floor(x1)]
x1[round(x1) != floor(x1 + .5)]
(non.int <- ceiling(x1) != floor(x1))


x2 <- pi * 100^(-1:3)
round(x2, 3)
signif(x2, 3)

 
Článek ze dne 22. 1. 2018 byl naposledy upraven dne 5. 2. 2018 a zobrazen celkem 16270×, naposledy dne 3. 12. 2024 v 16:54.
 
 

Komentáře:

Jméno autora:
Email (nebude zveřejněn):
Komentář:
Sem napiš slovo Adamov:




Stránka:
 
Citace: Kalina, J., Horáková, D., Kuchař, J., Správným směrem [online]. Jiří Kalina, 2014 [cit. 2024-12-05]
Dostupné z: https://spravnym.smerem.cz/Tema/%5BR%5D%20round&typzarizeni=c.
 
Desktopová verze | Mobilní verze