У меня есть матрица 1200x130 0-1, а некоторые строки идентичны (4 из одной строки, 8 из другой и т. Д.). Я пытаюсь найти эффективный способ присвоения одинаковых идентификаторов одинаковым строкам.Присвоение идентификатора идентичным строкам в двоичной матрице
Вот что я пробовал в Excel: Для каждой строки я умножил запись k-го столбца на 2^k и суммировал по всем столбцам. Теоретически, для каждой другой строки это должно дать мне уникальный идентификатор, но цифры получаются очень большими. Excel испортил сравнение для этих чисел. (Я думаю, это потому, что он хранит их как 3.234023490249 x 10^246 до определенной цифры и игнорирует оставшиеся цифры.)
Итак, я решил использовать VBA, но единственный способ, которым я могу думать, - это попарное сравнение для все строки и столбцы. Я считаю, что должны быть более эффективные способы справиться с этим. Любые рекомендации?
(Я не ищу для конкретного решения Excel или VBA. Любая рекомендация поможет.)
Спасибо заранее.
Я не уверен, что вы подразумеваете под * «умножил запись k-го столбца на 2^k и суммировали по всем столбцам» *. Можете ли вы рассказать об этом немного больше для меня? – glh
В качестве отступления каждый номер строки является уникальным, и в тех случаях, когда мне нужно уникальное число, я добавляю ему 'row_nbr/1000'. – glh
Для строки что-то вроде этого: 1 0 0 1 0 1, я делаю это: 1 * 2^1 + 0 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 1 * 2^6 ... Когда у меня небольшое количество столбцов, оно работает хорошо, но для этого случая это не так. – stgath