En este artículo, analicemos cómo encontrar el porcentaje de valores faltantes (NA) en el lenguaje de programación R. El porcentaje de NA denota la fracción de celdas de datos que no están definidas por un valor de celda definido. El porcentaje de valores NA se puede calcular utilizando la siguiente fórmula:
Porcentaje de NAs = (Número de celdas con NA) * 100 /(Número total de celdas)
Método 1: el número total de celdas se puede encontrar utilizando el producto de la función dim() incorporada en R, que devuelve dos valores, cada uno de los cuales indica el número de filas y columnas respectivamente.
El número de celdas con valores NA se puede calcular usando las funciones sum() e is.na() en R respectivamente. El siguiente fragmento de código primero evalúa cada valor de celda de datos para devolver un valor lógico de verdadero si falta un valor y falso, de lo contrario. Luego, la suma de estos valores de NA se realiza mediante la función sum().
sum(is.na(data_frame))
R
# declaring a data frame in R data_frame = data.frame(C1= c(1, 2, NA, 0), C2= c( NA, NA, 3, 8), C3= c("A", "V", "j", "y")) print("Original data frame") print(data_frame) # calculating the product of dimensions of dataframe totalcells = prod(dim(data_frame)) print("Total number of cells ") print(totalcells) # calculating the number of cells with na missingcells = sum(is.na(data_frame)) print("Missing value cells") print(missingcells) # calculating percentage of missing values percentage = (missingcells * 100 )/(totalcells) print("Percentage of missing values' cells") print (percentage)
Producción
[1] "Original data frame" C1 C2 C3 1 1 NA A 2 2 NA V 3 NA 3 j 4 0 8 y [1] "Total number of cells " [1] 12 [1] "Missing value cells" [1] 3 [1] "Percentage of missing values' cells" [1] 25
Método 2: Podemos simplemente usar la función mean() en R, para realizar la división de las celdas que faltan por el número total de celdas. La función is.na() se usa primero para determinar si el valor de la celda de datos es verdadero o falso y luego se aplica el método mean() sobre él. La complejidad de tiempo requerida es polinomial con respecto al tamaño del marco de datos, ya que se evalúa cada valor de celda de datos.
R
# declaring a data frame in R data_frame = data.frame(C1= c(1, 2, NA, 0), C2= c( NA, NA, 3, 8), C3= c("A", "V", "j", "y"), C4=c(NA,NA,NA,NA)) print("Original data frame") print(data_frame) # calculating percentage of missing values percentage = mean(is.na(data_frame)) * 100 print ("percentage of missing values") print (percentage)
Producción
[1] "Original data frame" C1 C2 C3 C4 1 1 NA A NA 2 2 NA V NA 3 NA 3 j NA 4 0 8 y NA [1] "percentage of missing values" [1] 43.75
Publicación traducida automáticamente
Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA