Я пытаюсь очистить некоторые данные, которые были неправильно введены. Вопрос о переменной допускает множественные ответы из пяти вариантов, пронумерованных как от 1 до 5. Данные были введены следующим образом (это всего лишь пример - есть много других переменных и много других наблюдений в реальных данных кадр):
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
Здесь приведен код для воссоздания данных примера:
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"))
На самом деле мне нужны данные, которые нужно обрабатывать больше... binary - как набор вопросов "да/нет" - введен в кадр данных, который больше напоминает:
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
Фактические имена переменных не имеют значения на данный момент - я могу легко исправить это. Кроме того, не имеет большого значения, являются ли недостающие элементы "O", "NA" или "blank" - снова, что я могу исправить позже.
Я пробовал использовать функцию transform
из пакета reshape
, а также загружать разные вещи с помощью strsplit
, но я не могу заставить делать то, что я ищу.
Я также рассмотрел многие другие связанные вопросы о Stackoverflow, но они, похоже, не совсем такие же проблемы.