Я хотел бы знать, почему некоторые языки, такие как R, имеют как NA, так и NaN. В чем различия или они одинаково одинаковы? Действительно ли нужно иметь АН?
Следует отметить, что is.na()возвращается TRUEкак для NA, так и для NaN, что отличается, is.nan()например, is.na(c(0/0,NA))отis.nan(c(0/0,NA)) .
ЧЛ
11
NA для отсутствующих данных. NaN, как сказал JM, предназначен для арифметических целей. NaN обычно является продуктом некоторой арифметической операции, такой как 0/0. NA обычно объявляется заранее или является продуктом операции, когда вы пытаетесь получить доступ к чему-то, чего нет:
Я думаю, что NA означает «Не доступно», тогда как NaN - «Не число», хотя это более мнемоническое, чем объяснение. Кстати, я не знаю другого языка, кроме R (возможно, Splus?), Который имеет оба. Matlab, например, имеет только NaN.
Вы сделали (критическую) опечатку. «Na N - это не число»
Питер Смит
@ Питер Смит: ой, спасибо. мой X-сервер отстает от нажатия клавиш ...
shabbychef
2
Несколько языков имеют эквивалентные конструкции. Например, PHP и Javascript имеют значение NULL и NaN.
Nico
2
NA означает, что ошибка уже возникла, когда вы импортировали электронную таблицу в R. NaN означает, что вы вызвали ошибку после импорта данных. Это третий тип ошибок, который действительно трудно уловить.
Я был glib, но я имел в виду, что NA - это первый тип ошибок, часто вызванный тем, что в импортированных данных есть неправильный тип, например числовое поле, содержащее знаки препинания / буквы / пробелы или опечатки / регистр-варианты в уровнях фактора. NaN - это вторая ошибка, которая чаще всего возникает, когда вы преобразуете данные в R. Третья ошибка - это данные, которые имеют числовое значение, но по тем или иным причинам неправильное, и оно менее заметно сразу. Опять же, это не является строгой категоризацией, это просто неформальное наблюдение.
f1r3br4nd
0
NA = Нет в наличии
NaN = не число
Я думаю, что как только мы расширим аббревиатуры, это должно быть само собой разумеющимся.
Ответы:
Должен ответить на ваш вопрос.
Но вкратце:
NaN означает - обозначает не число00
NA обычно интерпретируется как отсутствующее значение и имеет различные формы - NA_integer_, NA_real_ и т. Д.
Следовательно, NaN NA и существует потребность в NaN и NA.≠
источник
is.na()
возвращаетсяTRUE
как для NA, так и для NaN, что отличается,is.nan()
например,is.na(c(0/0,NA))
отis.nan(c(0/0,NA))
.NA для отсутствующих данных. NaN, как сказал JM, предназначен для арифметических целей. NaN обычно является продуктом некоторой арифметической операции, такой как
0/0
. NA обычно объявляется заранее или является продуктом операции, когда вы пытаетесь получить доступ к чему-то, чего нет:источник
Я думаю, что NA означает «Не доступно», тогда как NaN - «Не число», хотя это более мнемоническое, чем объяснение. Кстати, я не знаю другого языка, кроме R (возможно, Splus?), Который имеет оба. Matlab, например, имеет только NaN.
источник
NA означает, что ошибка уже возникла, когда вы импортировали электронную таблицу в R. NaN означает, что вы вызвали ошибку после импорта данных. Это третий тип ошибок, который действительно трудно уловить.
:-)
источник
NA = Нет в наличии
NaN = не число
Я думаю, что как только мы расширим аббревиатуры, это должно быть само собой разумеющимся.
источник