我在R编程语言中使用以下语句在我的3D数据分析中进行基于密度的聚类 -
clusterstry <- dbscan(styrenexyz, 0.20, MinPts =20, method = "hybrid", showplot = 1, countmode = 1:10,100,1000)
但是,此epsilon (=20)
无法计算周期性边界条件的情况。
有人可以建议我如何计算周期性边界条件?
答案 0 :(得分:1)
您可以创建自己的距离函数,而不是使用欧几里德距离。
然后您可以轻松实现周期性边界条件。如果您进行搜索,可以使用Python的示例来帮助您。
或者,您可以添加额外的维度来强制执行周期性边界条件。
我建议使用自定义距离函数代替额外尺寸以避免任何失真。您可以通过编写自己的函数在R中创建自定义距离函数,然后将结果提供给dbscan()
或optics()
。
您会注意到它接受数据矩阵或距离矩阵。你可以让R知道你的对象是一个带有函数as.dist()
的距离矩阵。这来自stats
包。