Chciałbym wiedzieć, dlaczego niektóre języki, takie jak R, mają zarówno NA, jak i NaN. Jakie są różnice, czy są jednakowo takie same? Czy naprawdę trzeba mieć NA?
Warto zauważyć, że is.na()powraca TRUEzarówno dla NA i Nan, która różni się od is.nan()np is.na(c(0/0,NA))vs.is.nan(c(0/0,NA)) .
chl
11
NA dotyczy brakujących danych. NaN, jak powiedział JM, służy celom arytmetycznym. NaN jest zwykle produktem niektórych operacji arytmetycznych, takich jak 0/0. NA zwykle jest zadeklarowane z wyprzedzeniem lub jest produktem działania, gdy próbujesz uzyskać dostęp do czegoś, czego nie ma:
Myślę o NA oznaczającym „Niedostępne”, podczas gdy NaN to „Nie liczba”, chociaż jest to bardziej mnemoniczne niż wyjaśnienie. Nawiasem mówiąc, nie znam żadnego innego języka niż R (może Splus?), Który ma oba. Na przykład Matlab ma tylko NaN.
Kilka języków ma równoważne konstrukcje. Na przykład PHP i JavaScript mają null i NaN.
nico
2
NA oznacza, że błąd już występował podczas importowania arkusza kalkulacyjnego do R. NaN oznacza, że spowodowałeś błąd po zaimportowaniu danych. To trzeci rodzaj błędu, który jest naprawdę trudny do uchwycenia.
Byłem glib, ale miałem na myśli - NA to pierwszy rodzaj błędu, często spowodowany przez coś w importowanych danych niewłaściwego typu - np. Pole numeryczne zawierające interpunkcję / litery / białe znaki lub literówki / zmiany wielkości liter w poziomach czynnika. NaN jest drugim błędem, który częściej zdarza się, gdy transformujesz dane w R. Trzeci błąd to dane, które mają wartość liczbową, ale z tego czy innego powodu są niewłaściwe i są mniej zauważalne. Ponownie, nie ma to być rygorystyczna kategoryzacja, tylko nieformalna obserwacja.
f1r3br4nd
0
NA = Niedostępne
NaN = brak liczby
Myślę, że kiedy rozszerzymy akronimy, powinno to być oczywiste.
Odpowiedzi:
Powinien odpowiedzieć na twoje pytanie.
Ale w skrócie:
NaN oznacza - oznacza brak liczby00
NA jest ogólnie interpretowane jako brakująca wartość i ma różne formy - NA_integer_, NA_real_ itp.
Dlatego NaN NA i istnieje zapotrzebowanie na NaN i NA.≠
źródło
is.na()
powracaTRUE
zarówno dla NA i Nan, która różni się odis.nan()
npis.na(c(0/0,NA))
vs.is.nan(c(0/0,NA))
.NA dotyczy brakujących danych. NaN, jak powiedział JM, służy celom arytmetycznym. NaN jest zwykle produktem niektórych operacji arytmetycznych, takich jak
0/0
. NA zwykle jest zadeklarowane z wyprzedzeniem lub jest produktem działania, gdy próbujesz uzyskać dostęp do czegoś, czego nie ma:źródło
Myślę o NA oznaczającym „Niedostępne”, podczas gdy NaN to „Nie liczba”, chociaż jest to bardziej mnemoniczne niż wyjaśnienie. Nawiasem mówiąc, nie znam żadnego innego języka niż R (może Splus?), Który ma oba. Na przykład Matlab ma tylko NaN.
źródło
NA oznacza, że błąd już występował podczas importowania arkusza kalkulacyjnego do R. NaN oznacza, że spowodowałeś błąd po zaimportowaniu danych. To trzeci rodzaj błędu, który jest naprawdę trudny do uchwycenia.
:-)
źródło
NA = Niedostępne
NaN = brak liczby
Myślę, że kiedy rozszerzymy akronimy, powinno to być oczywiste.
źródło