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

Christian Bravo Sánchez christian.bravo.sanchez en gmail.com
Jue Oct 8 09:29:07 CEST 2015


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
> str(d)
'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]]



Más información sobre la lista de distribución R-help-es