Divida una columna de datos delimitados por comas concatenados y recodifique la salida como factores
Estoy tratando de limpiar algunos datos que han sido ingresados incorrectamente. La pregunta para la variable permite múltiples respuestas de cinco opciones, numeradas del 1 al 5. Los datos se ingresaron de la siguiente manera (esto es solo un ejemplo: hay muchas más variables y muchas más observaciones en los datos reales) cuadro):
<code>data V1 1 1, 2, 3 2 1, 2, 4 3 2, 3, 4, 5 4 1, 3, 4 5 1, 3, 5 6 2, 3, 4, 5 </code>
Aquí hay algo de código para recrear esos datos de ejemplo:
<code>data = data.frame(V1 = c("1, 2, 3", "1, 2, 4", "2, 3, 4, 5", "1, 3, 4", "1, 3, 5", "2, 3, 4, 5")) </code>
Lo que realmente necesito es que los datos se traten más ... binarios, como un conjunto de preguntas "sí / no", ingresadas en un marco de datos que se parece más a:
<code>data V1.1 V1.2 V1.3 V1.4 V1.5 1 1 1 1 NA NA 2 1 1 NA 1 NA 3 NA 1 1 1 1 4 1 NA 1 1 NA 5 1 NA 1 NA 1 6 NA 1 1 1 1 </code>
Los nombres reales de las variables no importan en este momento, puedo arreglarlo fácilmente. Además, no importa demasiado si los elementos que faltan son "O", "NA" o en blanco; de nuevo, eso es algo que puedo solucionar más adelante.
He intentado usar eltransform
función de lareshape
paquete, así como un alimentado diferentes cosas constrsplit
, pero tampoco puedo hacer lo que estoy buscando. También he analizado muchas otras preguntas relacionadas sobre Stackoverflow, pero no parecen ser el mismo problema.