Разделить столбец с объединенными запятыми -данные с разделителями и перекодировать вывод как коэффициенты

Я пытаюсь очистить некоторые данные, которые были введены неправильно. Вопрос о переменной допускает несколько ответов из пяти вариантов, пронумерованных от 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"))

Что мне действительно нужно, так это данные, которые нужно обрабатывать более... бинарно --как набор вопросов «да/нет» --введен во фрейме данных, который больше похож на:

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» или снова пустыми --, это то, что я могу исправить позже.

Я пытался использовать функцию transformиз пакета reshape, а также различные вещи с strsplit, но я не могу заставить ни то, ни другое сделать то, что я ищу. Я также просмотрел множество других связанных вопросов в Stackoverflow, но они, похоже, не совсем та же проблема.

10
задан Ben Bolker 11 April 2012 в 14:13
поделиться