Tenemos un marco de datos de un archivo CSV. El marco de datos DF
tiene columnas que contienen valores observados y una columna (VaR2
) que contiene la fecha en la que se tomó una medición. Si la fecha no se registró, el archivo CSV contiene el valor NA
, para los datos faltantes.Subconjunto de filas que contienen valores de NA (faltantes) en una columna elegida de un marco de datos
Var1 Var2
10 2010/01/01
20 NA
30 2010/03/01
Nos gustaría utilizar el comando subconjunto de definir un nuevo marco de datos new_DF
tal que sólo contiene filas que tienen un valor NA'
de la columna (VaR2
). En el ejemplo dado, solo la Fila 2 estará contenida en el nuevo DF
.
El comando
new_DF<-subset(DF,DF$Var2=="NA")
no funciona, la trama de datos resultante no tiene entradas de fila.
Si en el archivo CSV original se intercambia el valor NA
con NULL
, el mismo comando produce el resultado deseado: new_DF<-subset(DF,DF$Var2=="NULL")
.
¿Cómo puedo hacer que este método funcione, si para la cadena de caracteres se proporciona el valor NA
en el archivo CSV original?
Gracias por su rápida respuesta (esto fue rápido)!De hecho, debido a la entrega de csv de los datos, los 'NA' son valores de caracteres y su segunda declaración puede ser muy útil. ¿Puedes aclarar tu primera declaración? El uso de rowSums() no es claro para mí, ya que solo veré una columna en particular (hay muchas columnas). Si esa columna en particular (en el ejemplo sería la columna Var2) tiene una cadena de caracteres 'NA' (la reemplazaré con su segunda declaración), entonces me gustaría elegir toda la fila para ser parte del nuevo marco de datos . – John
@John: actualizado. El punto es usar is.na, interpreté erróneamente que quería verificar todas las variables. –
debería ser 'new_DF <- DF [is.na (DF $ Var),]', es decir, parece haber un '(' paréntesis después de 'DF ['? – PatrickT