R niveles faltantes en un modelo. Matriz

Estoy tratando de convertir un marco de datos con variables categóricas a un modelo.matriz pero estoy perdiendo niveles de variables.

Aquí está mi código:

df1 <- data.frame(id = 1:200, y =rbinom(200, 1, .5),  var1 = factor(rep(c('abc','def','ghi','jkl'),50)))
df1$var2 <- factor(rep(c('ab c','ghi','jkl','def'),50))
df1$var3 <- factor(rep(c('abc','ghi','nop','xyz'),50))

df1$var2 <- as.character(df1$var2)
df1$var2 <- gsub('\\s','',df1$var2)
df1$var2 <- factor(df1$var2)
sapply(df1, levels)

mm1 <- model.matrix(~ 0+.,df1)
head(mm1)

¿Alguna sugerencia? ¿Es este un problema de no invertibilidad matricial?

Respuestas a la pregunta(1)

Su respuesta a la pregunta