[英]cluster one-dimensional data using pvclust
感謝您抽出寶貴時間閱讀此問題。 我有一些一維數據要聚集在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背后的數學。 誰能告訴我我是對還是錯,以及我的問題是否有更好的解決方案?
謝謝!
首先,讓我指出,這些方法都不適合一維數據 。
對於一維數據,請使用一種可以對數據進行排序的方法 。 例如,使用基於核密度估計的方法。
術語“集群分析”通常僅用於多維數據 。 在一個維度上,有更好的方法。 另請參閱“自然中斷優化”,但恕我直言,您應該使用內核密度估計:在KDE中以局部最小值分割數據。
現在是您的實際問題。 最可能的問題是您正在傳遞1維數據。 它被解釋為一個具有d
維的記錄,因此該方法抱怨只有一個樣本。 您可以先移調記錄來獲得成功。
如果您添加零記錄,結果很可能會變得虛假。 您可能正在對一個數據集進行聚類,該數據集包含1個包含數據的向量和3個全為零的向量...
但是最后, 無論如何您都不應該在這里使用這些方法 ! 使用一種可以對您的數據進行排序的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.