Dummify columna de caracteres y encontrar valores únicos [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Dividir una columna en múltiples columnas ficticias binarias [duplicar] 1 respuesta

Tengo un marco de datos con la siguiente estructura, ure

test <- data.frame(col = c('a; ff; cc; rr;', 'rr; a; cc; e;'))

Ahora quiero crear un marco de datos a partir de esto que contenga una columna con nombre para cada uno de los valores únicos en el marco de datos de prueba. Un valor único es un valor terminado por ';' personaje y comenzando con un espacio, sin incluir el espacio. Luego, para cada una de las filas de la columna, deseo llenar las columnas ficticias con un 1 o un 0. Como se indica a continuación

data.frame(a = c(1,1), ff = c(1,0), cc = c(1,1), rr = c(1,0), e = c(0,1))

  a ff cc rr e
1 1  1  1  1 0
2 1  0  1  1 1

Intenté crear un df usando bucles for y los valores únicos en la columna, pero se está volviendo desordenado. Tengo un vector disponible que contiene los valores únicos de la columna. El problema es cómo crear los unos y los ceros. Probé algunosmutate_all()&nbsp;funcionar congrep()&nbsp;pero esto no funciono.