Juan Abasolo
2018-Jun-25 13:48 UTC
[R-es] Transformar muchas variables factor en variables binarias de acuerdo a niveles
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]]
Carlos J. Gil Bellosta
2018-Jun-25 13:55 UTC
[R-es] Transformar muchas variables factor en variables binarias de acuerdo a niveles
¿No te vale model.matrix? El lun., 25 jun. 2018 a las 15:49, Juan Abasolo (<juan.abasolo en 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 en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Fernando Reche Lorite
2018-Jun-25 14:07 UTC
[R-es] Transformar muchas variables factor en variables binarias de acuerdo a niveles
Puedes probar con la función dummy del paquete dummies. Un saludo Fernando Reche Lorite Departamento de Matemáticas Universidad de Almería El 25 de junio de 2018, 15:55, Carlos J. Gil Bellosta <cgb en datanalytics.com> escribió:> ¿No te vale model.matrix? > > El lun., 25 jun. 2018 a las 15:49, Juan Abasolo (<juan.abasolo en 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 en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[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 >[[alternative HTML version deleted]]