Как указать другой метод для функции dist в R? - PullRequest
5 голосов
/ 20 сентября 2011

В документации по функции dist в R есть следующие слова:

метод измерения расстояния, которое будет использоваться. Это должно быть "евклидово", "максимальное", "манхэттенское", "канберрское", "бинарное" или "минковское". Может быть задана любая однозначная подстрока.

Но мне нужно вычислить расстояние на основе настраиваемой функции, которой нет в списке, есть ли способ указать ее? Или есть другие способы, кроме функции dist, которые подходят для моей ситуации?

Я знаю, что могу сделать это неприлично, но я ищу более аккуратный способ сделать это.

Спасибо.

Edit:

Метод Th-расстояния, который я использую - это показатель корреляции с использованием расстояния Пирсона Есть ли для этого удобный способ?

1 Ответ

8 голосов
/ 20 сентября 2011

Вы не можете; dist() знает только, как вычислить определенные расстояния. Существует большое количество других коэффициентов расстояния / различия, доступных в пакетах R через CRAN (включая, среди многих других, vegan , аналог и пакет proxy ).

Последний, proxy , может быть особенно подходящим для ваших нужд. Мало того, что он имеет большое количество предварительно заданных коэффициентов, он обеспечивает основу для определения вашей собственной функции расстояния, которая затем вызывается из скомпилированного кода, поэтому это достаточно быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...