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.