Encuentra columnas y filas con NA en R DataFrame

Un marco de datos consta de celdas, denominadas elementos de datos, dispuestas en forma de tabla de filas y columnas. Un marco de datos puede tener elementos de datos pertenecientes a diferentes tipos de datos, así como valores faltantes, indicados por NA. 

Acercarse

  • Declarar marco de datos
  • Use la función para obtener valores para obtener valores NA
  • Posición de la tienda
  • Mostrar resultado

Las siguientes funciones integradas en R se pueden usar colectivamente para encontrar los pares de filas y columnas con valores NA en el marco de datos. La función is.na() devuelve un vector lógico de valores Verdadero y Falso para indicar cuáles de los elementos correspondientes son NA o no. A esto le sigue la aplicación de la función which() que indica la posición de los elementos de datos. El siguiente fragmento de código se puede utilizar para encontrar dichas posiciones de índice de elementos.

Sintaxis:

which(is.na(dataframe), arr.ind=TRUE)

Ejemplo:

R

# declaring data frame
data_frame = data.frame(
col1 = c(1,NA),
col2 = c(7:8),
col3 = c(NA,NA))
  
# printing original data frame
print ("Original Data Frame")
print(data_frame)
  
# extracting positions of NA values
print ("Row and Col positions of NA values")
which(is.na(data_frame), arr.ind=TRUE)

Producción

[1] "Original Data Frame"
 col1 col2 col3
1    1    7   NA
2   NA    8   NA
[1] "Row and Col positions of NA values"
    row col
[1,]   2   1
[2,]   1   3
[3,]   2   3

En caso de que no especifiquemos arr,ind=TRUE como argumento, se devuelve el número de elemento contando por fila. 

Ejemplo:

R

# declaring data frame
data_frame = data.frame(
col1 = c("A",NA,"B"),
col2 = c(100:102),
col3 = c(NA,NA,9))
  
# printing original data frame
print ("Original Data Frame")
print(data_frame)
  
# finding NA values beginning with row1 and col1 as the
# first element. Rows2 and col2 is second element.
print ("Row and Col positions of NA values")
which(is.na(data_frame))

Producción

[1] "Original Data Frame"
 col1 col2 col3
1    A  100   NA
2 <NA>  101   NA
3    B  102    9
[1] "Row and Col positions of NA values"
[1] 2 7 8

Los valores que faltan también se pueden calcular individualmente dentro de una columna, accediendo a la columna específica del marco de datos utilizando dataframe$colname como argumento en el fragmento de código anterior. En caso de que no haya valores NA en una columna específica, se devuelve el número entero (0) como salida. 

Ejemplo:

R

# declaring data frame
data_frame = data.frame(
col1 = c("A",NA,"B"),
col2 = c(100:102),
col3 = c(NA,NA,9))
  
# printing original data frame
print ("Original Data Frame")
print(data_frame)
  
# extracting positions of NA values
print ("NA values in column 1")
which(is.na(data_frame$col1), arr.ind=TRUE)
  
# extracting positions of NA values
print ("NA values in column 2")
which(is.na(data_frame$col2), arr.ind=TRUE)

Producción

 [1] "Original Data Frame"
 col1 col2 col3
1    A  100   NA
2 <NA>  101   NA
3    B  102    9
[1] "NA values in column 1"
[1] 2
[1] "NA values in column 2"
integer(0)

Publicación traducida automáticamente

Artículo escrito por codersgram9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *