Crie várias variáveis fictícias a partir de uma variável de sequência

Eu tentei praticamente tudo, desdeesta pergunta semelhante, mas não consigo obter os resultados que todo mundo parece estar obtendo. Esse é meu problema:

Eu tenho um quadro de dados como este, listando as notas com as quais cada professor trabalha:

> profs <- data.frame(teaches = c("1st", "1st, 2nd",
                                  "2nd, 3rd",
                                  "1st, 2nd, 3rd"))
> profs
        teaches
1           1st
2      1st, 2nd
3      2nd, 3rd
4 1st, 2nd, 3rd

Eu tenho procurado soluções para quebrar oteaches variável em colunas, assim:

  teaches1st teaches2nd teaches3rd
1          1          0          0
2          1          1          0
3          0          1          1
4          1          1          1

Eu entendo essa solução envolvendo osplitstackshape biblioteca e o aparentemente obsoletoconcat.split.expanded A função deve fazer exatamente o que eu quero, dada a explicação do atendedor. No entanto, não consigo alcançar os mesmos resultados:

> concat.split.expanded(profs, "teaches", fill = 0, drop = TRUE)
Fehler in seq.default(min(vec), max(vec)) : 
  'from' cannot be NA, NaN or infinite

UsandocSplit, que entendi substitui "a maioria das funções concat.split * anteriores", recebo o seguinte:

> cSplit(profs, "teaches")
   teaches_1 teaches_2 teaches_3
1:       1st        NA        NA
2:       1st       2nd        NA
3:       2nd       3rd        NA
4:       1st       2nd       3rd

Eu tentei usarcSplitajuda e aprimora cada um desses parâmetros, mas simplesmente não consigo entender essa divisão. Agradeço qualquer ajuda.

questionAnswers(4)

yourAnswerToTheQuestion