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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta