2011-05-26 40 views
43

Duplicar posible:
R - remove rows with NAs in data.frame¿Cómo eliminar "filas" con un valor NA?

¿Cómo puedo eliminar rápidamente "filas" en una trama de datos con un valor de NA en una de las columnas?

Así

 x1 x2 
[1,] 1 100 
[2,] 2 NA 
[3,] 3 300 
[4,] NA 400 
[5,] 5 500 

debería resultar en:

 x1 x2 
[1,] 1 100 
[3,] 3 300 
[5,] 5 500 
+2

Ver las respuestas allí para una solución a su problema. Y tenga en cuenta que nos muestra una matriz y no un marco de datos. –

+2

Por lo menos * intente * buscar su respuesta aquí (agregando '[r]' para buscar dentro de las preguntas R), vía Rseek.org o de otra manera. –

+0

¿No le preocupa que TODOS los valores en la fila sean NA? y posiblemente NA en columnas específicas? Como tal, esta es una pregunta ligeramente diferente (y más fácil). Como es habitual con las aplicaciones fáciles y duras del mismo concepto, uno puede inferir la respuesta fácil del duro, pero eso puede ser difícil :) –

Respuesta

76
dat <- data.frame(x1 = c(1,2,3, NA, 5), x2 = c(100, NA, 300, 400, 500)) 

na.omit(dat) 
    x1 x2 
1 1 100 
3 3 300 
5 5 500 
+0

¡En mi caso, esto no funciona! 'df <-structure (list (vars = structure (1: 5, .Label = c (" a "," b ", " v "," d "," e "," s "," ds ") ), class = "factor"), '1' = c (NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), '2' = c (NA, 0.9, NA, NA, NA), '3' = c (NA_real_, NA_real_, NA_real_, NA_real_, NA_real_)), .Names = c ("vars", "1", "2", "3"), row.names = c (NA, 5L), clase = "data.frame") ' –

Cuestiones relacionadas