Crear varias variables ficticias a partir de una variable de cadena
He intentado casi todo, desdeesta pregunta similar, pero no puedo obtener los resultados que todos los demás parecen estar obteniendo. Este es mi problema:
Tengo un marco de datos como este, que enumera las calificaciones con las que trabaja cada maestro:
> 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
He estado buscando soluciones para romper elteaches
variable en columnas, así:
teaches1st teaches2nd teaches3rd
1 1 0 0
2 1 1 0
3 0 1 1
4 1 1 1
Entiendo esta solucion involucrando elsplitstackshape
biblioteca y el aparentemente en desusoconcat.split.expanded
Se supone que la función debe hacer exactamente lo que quiero, dada la explicación del respondedor. Sin embargo, parece que no puedo alcanzar los mismos 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
UtilizandocSplit
, que entendí reemplaza a "la mayoría de las funciones anteriores de concat.split *", obtengo esto:
> 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
He intentado usarcSplit
Ayuda y ajusta cada uno de esos parámetros, pero simplemente no puedo obtener esa división. Agradezco cualquier ayuda.