2011-09-20 36 views
4

在R的dist功能文档中有以下单词:如何在R中指定dist函数的其他方法?

方法要使用的距离度量。这必须是“欧几里德”,“最大”,“曼哈顿”,“堪培拉”,“二进制”或“minkowski”之一。可以给出任何明确的子字符串。

但我需要根据不在列表中的自定义函数计算距离,有没有办法指定它?或者除了适合我情况的dist功能外,还有其他方法吗?

我知道我可以用高兴的方式做到这一点,但我正在寻找一个更好的方法来做到这一点。

谢谢。

编辑:

我使用的Th距离的方法是的关联性分数使用皮尔森距离。有没有一个简便的方法呢?

+1

你能给我们一个实际的例子吗?根据您使用的距离度量值,可能会有不可用的替代方法。但是为了在dist函数中增加一个,你需要修改C代码。 –

+0

'dist'不会隐藏或与方法交织在一起。所以也许只是看看代码的帮助(在你的控制台输入dist并运行它)。基本上你也可以写出你自己的功能,从dist已经为/适合你做的事情开始。 –

+0

@ ran2:问题在于,这些方法是在C代码中实现的,而不是在R代码中执行的...... –

回答

8

你不能; dist()只知道如何计算一定的距离。有良好的数目在经由CRAN R封装可用的其他距离/不相似性系数(包括vegananalogueproxy包,其中包括许多其他。)

后者代理,可特别适合您的需求。它不仅具有大量预先指定的系数,还提供了一个指定自己的距离函数的框架,然后从编译后的代码调用该函数,因此速度相当快。

+0

谢谢!代理包似乎是我想要的! –

相关问题