Фиктивные переменные из строковой переменной
Я хотел бы создать фиктивные переменные из этого набора данных:
DF DF
A B
1 1 1,3,2
2 2 2,1,3,6
3 3 3,2,5,1,7
4 4 3,7,4,2,6,5
5 5 4,10,7,3,5,6
Желаемый вывод должен выглядеть так:
A 1 2 3 4 5 6 7 8 9 10
1 1 1 1 0 0 0 0 0 0 0
2 1 1 1 0 0 1 0 0 0 0
3 1 1 1 0 1 0 1 0 0 0
4 0 1 1 1 1 1 1 0 0 0
5 0 0 1 1 1 1 1 0 0 1
Есть ли эффективный способ сделать такую вещь? я могу использоватьstrsplit
или жеifelse
, Исходный набор данных очень большой со множеством строк (>10k) и значения в столбце B (>15k). функцияdummy
из пакетаdummies
дон»работать так, как я хочу.
Я также нашел симимил случай:Разделение одного столбца на несколько столбцов, Но в моем случае антивирусные программы из приведенной выше ссылки работают очень медленно (до 15 минут на моем Dell i7-2630QM, 8 Гб, 64-битная Win7, R 2.15.3, 64-битная).
Заранее спасибо за ваши ответы.