Разделить строковый столбец на несколько фиктивных переменных

Как относительно неопытный пользователь пакета data.table в R, ямы пытались обработать один текстовый столбец в большое количество столбцов-индикаторов (фиктивных переменных), где 1 в каждом столбце указывает на то, что в строковом столбце была найдена определенная подстрока. Например, я хочу обработать это:

ID     String  
1       a$b  
2       b$c  
3       c  

в это:

ID     String     a     b     c  
1       a$b       1     1     0  
2       b$c       0     1     1  
3        c        0     0     1  

Я понял, как выполнять обработку, но она занимает больше времени, чем хотелось бы, и я подозреваю, что мой код неэффективен. Воспроизводимая версия моего кода с фиктивными данными приведена ниже. Обратите внимание, что в реальных данных существует более 2000 подстрок для поиска, каждая подстрока имеет длину около 30 символов и может содержать до нескольких миллионов строк. При необходимости я могу распараллелить и использовать много ресурсов для решения этой проблемы, но я хочу максимально оптимизировать код. Я попытался запустить Rprof, который не предложил никаких очевидных (для меня) улучшений.

set.seed(10)  
elements_list 

Ответы на вопрос(6)

Ваш ответ на вопрос