Skip to content
Prev 12669 / 15379 Next

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

# Hola
# Si te he entendido bien, lo que quieres hacer es lo mismo que hace R
# cuando genera la model.matrix de un modelo lineal,
# así que suponiendo que tienes esta data.frame:


df  <-data.frame(a = c(1,2,3), b = c(1,1,2), c =
c("Rose","Pink","Red"), d = c("a","b","c"), e=c("red","blue", "green"))

df

# y sabiendo el nombre de las variables de tipo factor
# que quieres "binarizar", podrías hacer simplemente

variables<-c("c", "d", "e")

df2<-NULL
for(i in variables){
     mm<- model.matrix(lm((1:dim(df)[1])~get(i)-1, data=df))
         dimnames(mm)[[2]] <- levels(df[,i])
  df2<-cbind(df2,mm)}

  df2

# Saludos
# Marcelino



El 25/06/2018 a las 18:37, Jesús Para Fernández escribió: