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@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a