Tengo un marco de datos R que contiene un factor que quiero "expandir" para que para cada nivel de factor, haya una columna asociada en un nuevo marco de datos, que contiene un indicador 1/0. Por ejemplo, supongamos que tengo:
df.original <-data.frame(eggs = c("foo", "foo", "bar", "bar"), ham = c(1,2,3,4))
Quiero:
df.desired <- data.frame(foo = c(1,1,0,0), bar=c(0,0,1,1), ham=c(1,2,3,4))
Porque para ciertos análisis para los que necesita tener un marco de datos completamente numérico (por ejemplo, análisis de componentes principales), pensé que esta característica podría estar incorporada. Escribir una función para hacer esto no debería ser demasiado difícil, pero puedo prever algunos desafíos relacionados con los nombres de las columnas y, si ya existe algo, prefiero usarlo.
castpara mí.