[R-es] Transformar muchas variables factor en variables binarias de acuerdo a niveles

Carlos J. Gil Bellosta cgb @ending from d@t@n@lytic@@com
Lun Jun 25 15:55:47 CEST 2018


¿No te vale model.matrix?

El lun., 25 jun. 2018 a las 15:49, Juan Abasolo (<juan.abasolo using ehu.eus>)
escribió:

> Buenas, compañeros.
>
> Tengo una base de datos con bastantes variables todas medidas como factor,
> quiero que todos los factores pasen a ser variables binarias en función de
> sus valores.
>
> En este ejemplo de Stackoverflow muestran como hacerlo con una variable:
>
> https://stackoverflow.com/questions/33990760/converting-factors-to-binary-in-r
>
> df  <-data.frame(a = c(1,2,3), b = c(1,1,2), c =
> c("Rose","Pink","Red"), d = c(2,3,4))
>
> cbind(df[1:2], sapply(levels(df$c), function(x) as.integer(x == df$c)),
> df[4])
>
> o así
>
> library(data.table)
> setDT(df)[, c(levels(df$c), "c") :=
>     c(lapply(levels(c), function(x) as.integer(x == c)), .(NULL))]
>
>
> Pero no me resuelve el tener que hacerlo algunos cientos de veces, que es
> lo que querría evitar. Sé que es evidente cómo se tiene que hacer, pero soy
> ciego a esa evidencia :-(
>
> Muchas gracias por la ayuda
>
>
> --
> Juan Abasolo
>
> Hizkuntzaren eta Literaturaren Didaktika Saila
> Bilboko Hezkuntza Fakultatea
> Euskal Herriko Unibertsitatea
> UPV/EHU
>
> Sarriena auzoa z/g
> 48940 Leioa
> Bizkaia
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



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