Как создать бинарную матрицу инвентаризации в строке? (R)

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

Ребята, вы лучшие. Спасибо!

6
задан 24 January 2012 в 03:30
поделиться