У меня есть датафрейм из 9 столбцов, состоящий из перечня факторов. В каждой строке могут быть заполнены все 9 столбцов (т.е. в этой строке хранится 9 "вещей"), но в большинстве случаев этого не происходит (в большинстве случаев имеется от 3 до 4). Столбцы также не являются специфическими, например, если элемент 200 появляется в столбцах 1 и 3, это одно и то же. Я хотел бы создать матрицу, которая была бы бинарной для каждой строки, включающей все факторы.
Ex (сокращено до 4 столбцов, чтобы донести суть)
R1 3 4 5 8
R2 4 6 7 NA
R3 1 5 NA NA
R4 2 6 8 9
Должна превратиться в
1 2 3 4 5 6 7 8 9
r1 0 0 1 1 1 0 0 1 0
r2 0 0 0 1 0 1 1 0 0
r3 1 0 0 0 1 0 0 0 0
r4 0 1 0 0 0 1 0 1 1
Я изучил writeBin/readBin, K-кластеризацию (это то, что я хотел бы сделать, но сначала мне нужно избавиться от NA), нечеткую кластеризацию, кластеризацию тегов. Просто теряюсь, в каком направлении двигаться.
Я пробовал написать два цикла for, которые извлекают данные из матрицы по столбцам/строкам, а затем сохраняют 0 и 1 соответственно в новой матрице, но я думаю, что возникли проблемы с областью применения.
Ребята, вы лучшие. Спасибо!