Hola,
Y para cuando sepas un poco más....
#-----------------------------
unlist(lapply(d, class))
#-----------------------------
char fake_char fac char_fac num
"character" "character" "factor" "factor" "integer"
Saludos,
Carlos Ortega
El 8 de octubre de 2015, 10:01, Carlos Ortega <cof en qualityexcellence.es>
escribió:
Hola,
Una manera muy sencilla de hacerlo es esta:
#-------------------------------
whatcol <- 0
for(i in 1:ncol(d)){
whatcol[i] <-class(d[,i])
}
whatcol
#--------------------------------
whatcol <- 0
for(i in 1:ncol(d)){
+ whatcol[i] <-class(d[,i])
+ }
[1] "character" "character" "factor" "factor" "integer"
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 8 de octubre de 2015, 9:29, Christian Bravo Sánchez <
christian.bravo.sanchez en gmail.com> escribió:
Hola usuarios de R,
Antes de nada presentarme, soy nuevo en R (antiguo... y bueno actual
usuario de SAS), llevo menos de un mes y estoy intentando empezar con
pequeñas cosas.
Hay un tema que me está llevando bastante tiempo y por más que investigo y
hago pruebas no logro saber como se hace; veréis tengo un data.frame el
cuál tiene bastante variables y todas ellas clasificadas como char, sin
embargo no todas son char sino que existen variables númericas. Dicho
esto,
lo que necesito de algún modo es recorrer todas las variables y saber cual
de ellas son numéricas (y por supuesto transformarlas).
Adjunto un ejemplo reproducible:
d <- data.frame(char = letters[1:5],
fake_char = as.character(1:5),
fac = factor(1:5),
char_fac = factor(letters[1:5]),
num = 1:5, stringsAsFactors = FALSE)
d
char fake_char fac char_fac num
1 a 1 1 a 1
2 b 2 2 b 2
3 c 3 3 c 3
4 d 4 4 d 4
5 e 5 5 e 5
'data.frame': 5 obs. of 5 variables:
$ char : chr "a" "b" "c" "d" ...
$ fake_char: chr "1" "2" "3" "4" ...
$ fac : Factor w/ 5 levels "1","2","3","4",..: 1 2 3 4 5
$ char_fac : Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
$ num : int 1 2 3 4 5
Como véis la variable fake_char es numérica. Por favor tened en cuenta que
trabajo con muchas variables, la resolución (he aquà la dificultad para
mÃ)
deberÃa recorrer todo el data.frame de manera automática.
Muchisimas gracias de antemano.
Saludos.
[[alternative HTML version deleted]]