Teilen Sie eine Spalte verketteter kommagetrennter Daten und kodieren Sie die Ausgabe als Faktoren neu

Ich versuche, einige falsch eingegebene Daten zu bereinigen. Die Frage für die Variable ermöglicht mehrere Antworten aus fünf Auswahlmöglichkeiten, die mit 1 bis 5 nummeriert sind. Die Daten wurden auf folgende Weise eingegeben (dies ist nur ein Beispiel - es gibt viel mehr Variablen und viel mehr Beobachtungen in den tatsächlichen Daten Rahmen):

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

Hier ist ein Code zum Neuerstellen dieser Beispieldaten:

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

Was ich eigentlich brauche, sind die Daten, die mehr behandelt werden sollen ... binär - wie eine Reihe von "Ja / Nein" -Fragen - eingegeben in einen Datenrahmen, der eher so aussieht:

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

Die tatsächlichen Variablennamen spielen im Moment keine Rolle - das kann ich leicht beheben. Es spielt auch keine Rolle, ob die fehlenden Elemente "O", "NA" oder leer sind - das kann ich später wieder beheben.

Ich habe versucht, die zu verwendentransform Funktion von derreshape Paket sowie eine Fütterung verschiedener Dinge mitstrsplitAber ich kann auch nicht tun, wonach ich suche. Ich habe mir auch viele andere verwandte Fragen zu Stackoverflow angesehen, aber sie scheinen nicht ganz dasselbe Problem zu sein.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage