35
¿Cuál es una manera fácil de averiguar qué clase es cada columna en un marco de datos?¿Cómo obtengo las clases de todas las columnas en un marco de datos?
¿Cuál es una manera fácil de averiguar qué clase es cada columna en un marco de datos?¿Cómo obtengo las clases de todas las columnas en un marco de datos?
Una opción es usar lapply
y class
. Por ejemplo:
> foo <- data.frame(c("a", "b"), c(1, 2))
> names(foo) <- c("SomeFactor", "SomeNumeric")
> lapply(foo, class)
$SomeFactor
[1] "factor"
$SomeNumeric
[1] "numeric"
Otra opción es str
:
> str(foo)
'data.frame': 2 obs. of 2 variables:
$ SomeFactor : Factor w/ 2 levels "a","b": 1 2
$ SomeNumeric: num 1 2
también 'sapply (foo, clase)' – MYaseen208
Desde 'class' devuelve un vector carácter de _todas_ clases de un objeto hereda de, la salida de 'sapply (foo, class)' podría ser una lista, y no siempre un vector de caracteres como la mayoría de la gente esperaría. Lo cual puede ser un poco peligroso ... Encuentro 'lapply' mucho más seguro. – flodel
p. Tipos de POSIX ... –