Podziel kolumnę połączonych danych rozdzielanych przecinkami i przekoduj dane wyjściowe jako czynniki

Próbuję wyczyścić niepoprawnie wprowadzone dane. Pytanie dotyczące zmiennej pozwala na wielokrotne odpowiedzi z pięciu wyborów, ponumerowanych od 1 do 5. Dane wprowadzono w następujący sposób (jest to tylko przykład - istnieje wiele więcej zmiennych i wiele innych obserwacji w rzeczywistych danych rama):

<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>

Oto kod do odtworzenia danych przykładowych:

<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>

Potrzebuję danych, które będą traktowane bardziej ... binarnie - jak zestaw pytań "tak / nie" - wprowadzonych w ramce danych, która wygląda bardziej jak:

<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>

Rzeczywiste nazwy zmiennych nie mają w tej chwili znaczenia - mogę to łatwo naprawić. Ponadto nie ma znaczenia, czy brakujące elementy to „O”, „NA”, czy puste - to coś, co mogę naprawić później.

Próbowałem użyćtransform funkcja zreshape pakiet jak również karmione różnymi rzeczamistrsplit, ale nie mogę ani zrobić tego, czego szukam. Sprawdziłem również wiele innych powiązanych pytań dotyczących Stackoverflow, ale nie wydają się one być tym samym problemem.

questionAnswers(2)

yourAnswerToTheQuestion