Отрицательные векторы длины не допускаются в функции расстояния

У меня большой фрейм данных (375 000 строк и 5 столбцов), все переменные являются числовыми. Я хотел бы пространственно-временную кластеризацию этого фрейма данных, используя иерархическую кластеризацию в R. Однако, когда я пытаюсь вычислить матрицу расстояний, я получаю следующую ошибку: "Отрицательные векторы длины не допускаются в функции расстояния". Это из-за превышения максимальной памяти моего компьютера (16 ГБ ОЗУ)? или это из-за превышения максимальной длины любого вектора в R, который составляет 2^31 - 1 (около 2 миллиардов) элементов? Кстати, как рассчитать длину этой матрицы расстояний, которую я пытаюсь вычислить? это 375 000^2, что составляет почти 100 миллиардов? В любом случае, что я могу сделать относительно этой проблемы? Можно ли как-то еще использовать иерархическую кластеризацию в этом случае?

Кластеризация с использованием kmeans работает отлично, но мой руководитель предпочитает иерархическую кластеризацию.

Любые советы / предложения будут с благодарностью

PS Строки представляют идентификаторы поездок на автомобиле, а столбцы представляют: долготу начальной точки, широту начальной точки, долготу конечной точки, широту конечной точки и время поездки в определенный день (все значения масштабируются для всех переменных).

1 ответ

Да, 375000^2 превышает длину вектора.

Размер матрицы примерно равен строкам * столбцам * размеру типа данных.

Вычислите объем памяти, который вам нужен, и вернитесь к своему руководителю с таким результатом.

Другие вопросы по тегам