img font color change r null dataframe is-empty

r - font - shiny templates



¿Por qué un marco de datos vacío falla una prueba de is.null()? (3)

Las respuestas anteriores son correctas, is.na y is.null no pudieron detectar el valor vacío en R. Esto es lo que haría para calcular cuántos valores vacíos tiene en su marco de datos ''df'' en este caso.

is.na (df [df == '''']) <- TRUE # esto simplemente reemplaza NA al valor vacío en df.

sum (is.na (df)) # le daría una idea de cuántos valores vacíos tiene en su ''df''.

Espero que esto sea de ayuda.

por favor discúlpeme si mi pregunta es bastante básica. df <- data.frame() un marco de datos vacío por df <- data.frame() y obviamente el marco de datos es NULL (vacío). cuando trato de verificar si el marco de datos está vacío por is.null(df) , el resultado es FALSO. ¿Hay alguna diferencia entre NULL y empty en R. En este caso, si el marco de datos no es NULL , entonces lo que está en el marco de datos vacío y cuándo será NULL . Gracias


data.frame() crea un objeto que tiene una clase de marco de datos . Debido a que el objeto existe , is.null devolverá FALSE . Una variable NULL no tiene clase ni contenido.


df no es NULL porque es un marco de datos y, por lo tanto, tiene algunas propiedades definidas. Por ejemplo, tiene una clase. Y puede obtener el número de filas en el marco de datos utilizando nrow(df) , incluso si el resultado fuera cero. Por lo tanto, también el número de filas está bien definido.

Por lo que sé, no hay is.empty comando is.empty en la base R. Lo que podría hacer es, por ejemplo, lo siguiente

is.data.frame(df) && nrow(df)==0

Esto dará VERDADERO para un marco de datos vacío (es decir, uno sin filas) y falso en caso contrario.

La razón para verificar is.data.frame primero es que nrow puede causar un error, si se aplica a algo más que un marco de datos. Gracias a && , nrow(df) solo se evaluará si df es un marco de datos.