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

Carlos Ortega cof en qualityexcellence.es
Jue Oct 8 10:01:02 CEST 2015


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])
+ }
> whatcol
[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
> > 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]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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