使用pvclust群集一维数据(cluster one-dimensional data using

2019-10-18 03:52发布

感谢您抽出时间阅读这个问题。 我有一些一维数据R.集群的基本hclust命令工作正常。 但pvclust命令,但是,不采取一维数据,并口口声声说:

Error in hclust(distance, method = method.hclust) : 
  must have n >= 2 objects to cluster

我发现了一个变通办法,我加了一些全零行的数据。 因此,该数据变为:

       [,1]   [,2]   [,3]  [,4]  [,5]   [,6]   [,7]   [,8]   [,9]  [,10]
[1,]  7.424 14.251 15.957 1.542 2.451 20.836 13.534 20.003 12.555 10.817
[2,]      0      0      0     0     0      0      0      0      0      0
[3,]      0      0      0     0     0      0      0      0      0      0
[4,]      0      0      0     0     0      0      0      0      0      0

然后我跑pvclust ,和它的工作!

但我担心,这种变通砸了数学铺设背后pvclust。 任何一个可以告诉我,我是否正确/错误的,如果有一个更好的解决我的问题?

谢谢!

Answer 1:

首先,我要指出, 这些方法都不能是为一维数据

对于一维数据,请使用,它利用该数据可以被排序的方法。 例如,使用基于核密度估计的方法。

术语“聚类分析”通常多维数据使用。 在一维的,有很多更好的方法。 另请参见“自然断裂优化”,但恕我直言,你应该使用核密度估计:在KDE局部极小分割数据。

现在,您的实际问题。 最有可能的问题是,你是......经过1个维数据。 这被解释为一个记录,与d的尺寸 ,并且因此该方法抱怨仅具有单个样品。 您可能必须先调换你的记录成功。

有了您的加入零个记录的黑客,其结果很可能变成假的。 你可能集群具有包含您的数据,以及3个向量是所有零1个矢量数据集...

但最终,你不应该使用这些方法在这里反正 ! 使用它利用您的数据可以排序的方法。



文章来源: cluster one-dimensional data using pvclust