具有R的DBSCAN包括周期性边界条件

时间:2016-07-16 03:53:22

标签: r dbscan

我在R编程语言中使用以下语句在我的3D数据分析中进行基于密度的聚类 -

clusterstry <- dbscan(styrenexyz, 0.20, MinPts =20, method = "hybrid", showplot = 1, countmode = 1:10,100,1000)

但是,此epsilon (=20)无法计算周期性边界条件的情况。

有人可以建议我如何计算周期性边界条件?

1 个答案:

答案 0 :(得分:1)

您可以创建自己的距离函数,而不是使用欧几里德距离。

然后您可以轻松实现周期性边界条件。如果您进行搜索,可以使用Python的示例来帮助您。

或者,您可以添加额外的维度来强制执行周期性边界条件。

我建议使用自定义距离函数代替额外尺寸以避免任何失真。您可以通过编写自己的函数在R中创建自定义距离函数,然后将结果提供给dbscan()optics()

您会注意到它接受数据矩阵或距离矩阵。你可以让R知道你的对象是一个带有函数as.dist()的距离矩阵。这来自stats包。