NaN en R explicado (código de ejemplo) | Función is.nan, Contar, Reemplazar y Quitar

Se el primero en calificar

En el lenguaje de programación R , NaN significa No es un número .

Este artículo explica cómo manejar los valores de NaN en R. Esto incluye la aplicación de la función is.nan R.

Sumerjámonos.

¿Cuándo ocurre NaN?

Como se muestra en el siguiente ejemplo, podemos usar R como calculadora regular :

5/2 #  Cálculo  básico                                         en R 
# 2.5

Sin embargo, si intentamos ejecutar un cálculo no válido (por ejemplo, 0/0), R devuelve NaN:

0  /  0                                         # Cálculo no válido devuelve NaN 
# NaN

¿Cómo encontrar NaN en los datos? [es.nan Función]

Si tenemos un vector, un marco de datos o una matriz complejos, puede ser complicado identificar los valores de NaN en nuestros datos. En tal caso, podemos aplicar la función is.nan.

La función is.nan devuelve un vector lógico o matriz, que indica las posiciones de NaN en nuestros datos.

Considere el siguiente vector de ejemplo:

x <- c ( 5 , 9 , NaN, 3 , 8 , NA, NaN )              # Crear vector de ejemplo en R

Si aplicamos la función is.nan a estos datos, R devuelve un vector lógico (es decir, VERDADERO o FALSO) a la consola:

es _ nan ( x )                                     # Aplicar la función is.nan 
# FALSO FALSO VERDADERO FALSO FALSO FALSO VERDADERO

En combinación con la función which R, podemos imprimir las posiciones de nuestros valores de NaN en la consola de RStudio:

which ( is . nan ( x ) )                              # Obtener posiciones de NaN 
# 3 7

Y en combinación con la función de suma, podemos contar la cantidad de valores de NaN en nuestros datos:

sum ( is . nan ( x ) )                                # Contar la cantidad de NaN 
# 2

Eliminar valores de NaN [!is.nan]

Podemos usar la función is.nan en su forma invertida escribiendo una explosión delante de la función (es decir, !is.nan).

Esto se puede usar para excluir los valores de NaN de nuestros datos:

x_remove <- x [ ! es _ nan ( x ) ]                     # Eliminar NaN del vector 
x_remove                                      # Imprimir vector reducido a RStudio 
# 5 9 3 8 NA

Puede leer el código anterior de la siguiente manera: «R, conserve todos los elementos de nuestros datos que no sean NaN «.

Reemplazar valores de NaN

Otra alternativa es la sustitución de los valores de NaN.

Con el siguiente código R, reemplazamos NaN con 0:

x_replace <- x                                # Replicar vector de ejemplo 
x_replace [ es . nan ( x_replace ) ]  <-  0             # Reemplazar NaN con 0 en R 
x_replace                                     # Imprimir vector con reemplazo 
# 5 9 0 3 8 NA 0

Sin embargo, podríamos cambiar los valores de NaN básicamente a todos los valores que queramos.

¿Cuál es la diferencia entre NaN y NA en R?

Es posible que haya notado que R también usa el símbolo NA para mostrar datos.

Entonces, ¿cuál es la diferencia entre NaN y NA? ¿Por qué necesitamos dos símbolos diferentes?

Definición de NaN: NaN significa No es un número y siempre se muestra cuando se realizó un cálculo no válido.

Definición de NA: NA significa No disponible y se utiliza cuando falta un valor (por ejemplo, debido a la falta de respuesta de la encuesta ).

Si necesita más detalles, también puede echar un vistazo a las definiciones en la documentación de R:

Diferencia de NaN y NA

Figura 1: Documentaciones R de NaN y NA.

Además, puede obtener más información sobre los valores de NA AQUÍ y puede obtener más información sobre la función is.na R AQUÍ .

Video tutorial y recursos adicionales para el manejo de NaN en R

También publiqué un video tutorial sobre este tema, así que si todavía tienes problemas con el código, mira el siguiente video en mi canal de YouTube:

Además, puede echar un vistazo a algunos de los otros tutoriales de R en mi sitio web:

Este artículo mostró cómo aplicar los valores de trato con NaN y la función is.nan en R. Déjame un comentario a continuación en caso de que tengas comentarios o preguntas.

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

Este artículo ilustra cómo aplicar la función file.remove para eliminar archivos en la programación R.Tabla de contenido: Empecemos: Ejemplo de…