integer
Vektory typu integer
integer {base} | Dokumentace R v češtině |
Popis
Vytváří nebo testuje objekty typu "integer"
.
Použití
integer(length = 0)
as.integer(x, ...)
is.integer(x)
Argumenty
length |
Nezáporné celé číslo (integer) specifikující požadovanou délku. Dvojité hodnoty budou konvertovány na integer: poskytnutí argumentu délky jiné než jeden je chyba. |
x |
objekt, který má být konvertován nebo testován. |
... |
další argumenty přenesené na jiné metody nebo z jiných metod. |
Detaily
Vektory typu integer existují tak, že data mohou být předána do C nebo Fortran kódu, který je očekává, a tak, že (malé) data typu integer mohou být reprezentována přesně a kompaktně.
Všimněte si, že současné implementace R používají 32-bitové integery pro vektory typu integer, takže rozsah reprezentovatelných integerů je omezen na cca +/-2*10^9: typ double
může obsahovat mnohem větší celé čísla přesně.
Hodnota
integer
vytvoří vektor typu integer zadané délky. Každý prvek vektoru se rovná 0
.
as.integer
se pokouší konvertovat svůj argument, aby byl typem integer. Odpověď bude NA
, pokud nebude konverze úspěšná. Skutečné hodnoty větší v modulu než největší integer jsou konvertovány na NA
(na rozdíl od S, který dává nejextrémější integer stejného znaménka). Neintegrální numerické hodnoty jsou zkráceny směrem k nule (tj., as.integer(x)
se rovná trunc(x)
there), a imaginární části komplexních čísel jsou vyřazeny (s varováním). Znakové řetězce obsahující volitelnou mezeru, po které bude následovat buď desítková reprezentace nebo hexadecimální reprezentace (začínající 0x
nebo 0X
) můžou být konvertovány, stejně jako všechny povolené platformou pro reálná čísla. Zbavuje atributů včetně názvů stejně jako as.vector
. (Pro zajištění, že objekt x
je typu integer bez zbavování atributů, použijte storage.mode(x) <- "integer"
.)
is.integer
vrátí TRUE
nebo FALSE
depending on v závislosti na tom, zda je jeho argument type integer nebo nikoli, pokud není faktorem při návratu FALSE
.
Poznámka
is.integer(x)
netestuje jestliže x
obsahuje čísla typu integer! Za tímto účelem použijte round
, jako v případě funkce is.wholenumber(x)
v příkladech.
Reference
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Viz také
numeric
, storage.mode
.
round
(a ceiling
a floor
na téže stránce nápovědy) pro konverzi na integrální hodnoty.
Příklady
as.integer() zkracuje: x <- pi * c(-1:1, 10) as.integer(x) is.integer(1)
is FALSE ! is.wholenumber <- function(x, tol = .Machine$double.eps^0.5) abs(x - round(x)) < tol is.wholenumber(1)
is TRUE (x <- seq(1, 5, by = 0.5) ) is.wholenumber( x ) --> TRUE FALSE TRUE ...