У меня есть датафрейм из 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 соответственно в новой матрице, но я думаю, что были проблемы с областью действия.
Вы, ребята, лучшие. Спасибо!