NaN
Konečné, nekonečné čísla a čísla NaN
is.finite {base} | Dokumentace R v češtině |
Popis
is.finite
a is.infinite
vrátí vektor stejné délky jako x
, indikující, které prvky jsou konečné (ne nekonečné a ne chybějící) nebo nekonečné.
Inf
a -Inf
jsou kladné a záporné nekonečno, zatímco NaN
znamená ‘Not a Number’. (Toto platí pro hodnoty typu numeric a reálné a imaginární části komplexních čísel, nikoliv však pro hodnoty vektorov typu integer.) Inf
a NaN
jsou vyhrazená slova v jazyce R.
Použití
is.finite(x)
is.infinite(x)
is.nan(x)
Inf
NaN
Argumenty
x |
R R objekt, který má být testován: výchozí metody manipulují s atomickými vektory. |
Detaily
is.finite
vrací vektor stejné délky jako x
, jehož j-tý element je TRUE
, pokud je x[j]
konečné (tzn., není to jedna z hodnot NA
, NaN
, Inf
nebo -Inf
), a jinak je FALSE
. Komplexní čísla jsou konečná, pokud jsou konečná reální i imaginární části.
is.infinite
vrací vektor stejné délky jako x
jehož j-tý element je TRUE
pokud je x[j]
nekonečné (tzn. je to jedna z hodnot Inf
nebo -Inf
), a jinak je FALSE
. Toto bude false, pokud je x
typu numeric nebo complex. Komplexní čísla jsou nekonečná, pokud je nekonečná reální nebo imaginární části.
is.nan
testuje, jestli je numerická hodnota NaN
. Netestujte rovnost k NaN
, a nepoužívejte identical
, protože systémy obvykle mají mnoho různých hodnot NaN. Jeden z nich se používá pro číselnou chybějící hodnotu NA
, a is.nan
je pro tu hodnotu false. Komplexní číslo je považováno za NaN
, jestli reálná nebo imaginární část je NaN
, ale ne NA
. Všechny elementy originálních vektorů, vektorů typu logical a integer se nepovažují za NaN.
Všechny tři funkce přijímají NULL
jako vstup a vrací výsledek délky nula. Výchozí metody akceptují znakové a originální vektory, a vrací FALSE
pro všetky vstupy. Před verzí R 2.14.0 přijímali všechny vstupy, a vraceli FALSE
pro většinu nečíselných hodnot; případy, které nejsou atomickými vektory, jsou nyní označeny jako chyby.
Všechny tři funkce jsou generické: můžete napsat metody pro zpracování specifických tříd objektů, viz InternalMethods.
Hodnota
Vektor typu logical stejné délky jako x
: dim
, dimnames
a names
atributy jsou zachovány.
Poznámka
V R, v podstatě všechny matematické funkce (včetně základních aritmetických
), mají fungovat správně s +/- Inf
a NaN
jako vstupem nebo výstupem.
Základním pravidlem by mělo být, že volání a vztahy s Inf
jsou opravdu výroky s patřičným matematickým omezením.
Výpočty zahrnující NaN
vrátí NaN
nebo možná NA
: to, kterou z těchhle dvou, není zaručeno a může záviset na platformě R (protože kompilátory mohou přehodit poradí výpočtů).
Reference
Norma IEC 60559, také známá jako "ANSI/IEEE 754 Floating-Point Standard".
https://en.wikipedia.org/wiki/NaN.
D. Goldberg (1991) What Every Computer Scientist Should Know about Floating-Point Arithmetic ACM Computing Surveys, 23(1).
Dodatková verze dostupná na http://www.validlab.com/goldberg/paper.ps Rozšířená PDF verze na http://www.validlab.com/goldberg/paper.pdf
Funkce C99 isfinite
je použitá is.finite
.
Viz také
NA
, ‘Not Available’, co také není číslem, ale obvykle se používá pro chybějící hodnoty a platí pro mnohé režimy, nejen číselné a komplexní.
Arithmetic
, double
.
Příklady
pi / 0 ## = Inf nenulové číslo dělené nulou vytváří nekonečno
0 / 0 ## = NaN
1/0 + 1/0 # Inf
1/0 - 1/0 # NaN
stopifnot(
1/0 == Inf,
1/Inf == 0
)
sin(Inf)
cos(Inf)
tan(Inf)