Skip to content
Prev 9381 / 15379 Next

[R-es] Tranformar falsas variables char en numéricas

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.