variable valores vacios una tabla renglon registros omitir filas eliminar elemento contar con como r dataframe missing-data

vacios - omitir valores en r



Eliminar filas con valores en blanco en una columna en particular (4)

Estoy trabajando en un gran conjunto de datos, con algunas filas con NA y otras con espacios en blanco:

df <- data.frame(ID = c(1:7), home_pc = c("","CB4 2DT", "NE5 7TH", "BY5 8IB", "DH4 6PB","MP9 7GH","KN4 5GH"), start_pc = c(NA,"Home", "FC5 7YH","Home", "CB3 5TH", "BV6 5PB",NA), end_pc = c(NA,"CB5 4FG","Home","","Home","",NA))

¿Cómo elimino los NA y los espacios en blanco de una vez (en las columnas start_pc y end_pc)? En el pasado he usado:

df<- df[-which(is.na(df$start_pc)), ]

... para eliminar las NA - ¿hay un comando similar para eliminar los espacios en blanco?


Es la misma construcción: simplemente prueba cadenas vacías en lugar de NA :

Prueba esto:

df <- df[-which(df$start_pc == ""), ]

De hecho, mirando su código, no necesita el which , pero utilice la negación en su lugar, por lo que puede simplificarlo a:

df <- df[!(df$start_pc == ""), ] df <- df[!is.na(df$start_pc), ]

Y, por supuesto, puede combinar estas dos declaraciones de la siguiente manera:

df <- df[!(df$start_pc == "" | is.na(df$start_pc)), ]

Y simplifíquelo aún más con with :

df <- with(df, df[!(start_pc == "" | is.na(start_pc)), ])

También puede probar la longitud de la cadena que no sea cero usando nzchar .

df <- with(df, df[!(nzchar(start_pc) | is.na(start_pc)), ])

Descargo de responsabilidad: No he probado nada de este código. Por favor, avíseme si hay errores de sintaxis en cualquier lugar


Hice algo como esto para eliminar las filas con espacios en blanco en una variable: df <- subconjunto (df, VAR! = "")


Un enfoque fácil sería hacer todas las celdas en blanco NA y solo guardar casos completos. También puede buscar ejemplos de na.omit. Es un tema ampliamente discutido.

df [df == ""] <- NA

df <-df [complete.cases (df),]


df[!(is.na(df$start_pc) | df$start_pc==""), ]