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

Carlos Ortega cof en qualityexcellence.es
Jue Oct 8 10:06:28 CEST 2015


Hola,

Y para cuando sepas un poco más....

#-----------------------------
unlist(lapply(d, class))
#-----------------------------

> 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])
> + }
> > 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
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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