Determinar los tipos de datos de las columnas de un marco de datos.
Estoy usando R y he cargado datos en un marco de datos usando read.csv()
. ¿Cómo determino el tipo de datos de cada columna en el marco de datos?
Lo mejor que puedes hacer para empezar es utilizar ?str()
. Para explorar algunos ejemplos, hagamos algunos datos:
set.seed(3221) # this makes the example exactly reproducible
my.data <- data.frame(y=rnorm(5),
x1=c(1:5),
x2=c(TRUE, TRUE, FALSE, FALSE, FALSE),
X3=letters[1:5])
La solución de @Wilmer E Henao H es muy simplificada:
sapply(my.data, class)
y x1 x2 X3
"numeric" "integer" "logical" "factor"
El uso str()
le brinda esa información además de ventajas adicionales (como los niveles de sus factores y los primeros valores de cada variable):
str(my.data)
'data.frame': 5 obs. of 4 variables:
$ y : num 1.03 1.599 -0.818 0.872 -2.682
$ x1: int 1 2 3 4 5
$ x2: logi TRUE TRUE FALSE FALSE FALSE
$ X3: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
El enfoque de @Gavin Simpson también está simplificado, pero proporciona información ligeramente diferente a la siguiente class()
:
sapply(my.data, typeof)
y x1 x2 X3
"double" "integer" "logical" "integer"
Para obtener más información sobre class
, typeof
y el hijo del medio, mode
consulte este excelente hilo SO: Un estudio exhaustivo de los tipos de cosas en R. 'mode', 'class' y 'typeof' son insuficientes .
sapply(yourdataframe, class)
Donde yourdataframe es el nombre del marco de datos que estás usando