Me gustaría saber por qué algunos lenguajes como R tienen NA y NaN. ¿Cuáles son las diferencias o son igualmente iguales? ¿Es realmente necesario tener NA?
Es de destacar que is.na()los rendimientos TRUEde ambos NA y Nan, que se diferencia de is.nan()por ejemplo is.na(c(0/0,NA))vsis.nan(c(0/0,NA)) .
chl
11
NA es para datos faltantes. NaN, como dijo JM es para fines aritméticos. NaN suele ser el producto de alguna operación aritmética, como 0/0. Normalmente, NA se declara por adelantado o es un producto de la operación cuando intenta acceder a algo que no está allí:
Pienso en NA representando 'No disponible', mientras que NaN es 'No es un número', aunque esto es más nemotécnico que explicativo. Por cierto, no conozco otro lenguaje que no sea R (¿quizás Splus?) Que tenga ambos. Matlab, por ejemplo, solo tiene NaN.
Hiciste un error (crítico). "Na N 'no es un número'"
Peter Smit el
@ Peter Smit: ay, gracias. mi servidor X está rezagado al
presionar las
2
Varios idiomas tienen construcciones equivalentes. Por ejemplo, PHP y Javascript tienen nulo y NaN.
nico
2
NA significa que el error ya estaba allí cuando importó la hoja de cálculo a R. NaN significa que causó el error después de importar los datos. Es el tercer tipo de error que es realmente difícil de detectar.
Estaba siendo simplista, pero lo que quise decir fue: NA es el primer tipo de error, a menudo causado por algo en los datos importados que es del tipo incorrecto, por ejemplo, un campo numérico que contiene puntuación / letras / espacios en blanco o errores tipográficos / variación de mayúsculas y minúsculas en los niveles de un factor. NaN es el segundo error, que ocurre con mayor frecuencia cuando transforma datos dentro de R. El tercer error es datos que tienen un valor numérico, pero por una razón u otra, el incorrecto, y se nota menos inmediatamente. Nuevamente, esto no pretende ser una categorización rigurosa, solo una observación informal.
f1r3br4nd
0
NA = no disponible
NaN = No es un número
Creo que una vez que ampliamos los acrónimos, debería explicarse por sí mismo.
Respuestas:
Debería responder a su pregunta.
Pero, en resumen:
NaN significa - Significa No es un número0 00 0
NA generalmente se interpreta como un valor perdido y tiene varias formas: NA_integer_, NA_real_, etc.
Por lo tanto, NaN NA y hay una necesidad de NaN y NA.≠
fuente
is.na()
los rendimientosTRUE
de ambos NA y Nan, que se diferencia deis.nan()
por ejemplois.na(c(0/0,NA))
vsis.nan(c(0/0,NA))
.NA es para datos faltantes. NaN, como dijo JM es para fines aritméticos. NaN suele ser el producto de alguna operación aritmética, como
0/0
. Normalmente, NA se declara por adelantado o es un producto de la operación cuando intenta acceder a algo que no está allí:fuente
Pienso en NA representando 'No disponible', mientras que NaN es 'No es un número', aunque esto es más nemotécnico que explicativo. Por cierto, no conozco otro lenguaje que no sea R (¿quizás Splus?) Que tenga ambos. Matlab, por ejemplo, solo tiene NaN.
fuente
NA significa que el error ya estaba allí cuando importó la hoja de cálculo a R. NaN significa que causó el error después de importar los datos. Es el tercer tipo de error que es realmente difícil de detectar.
:-)
fuente
NA = no disponible
NaN = No es un número
Creo que una vez que ampliamos los acrónimos, debería explicarse por sí mismo.
fuente