nac*_*cab 6 r cluster-analysis
clara()函数中的k-medoids使用距离来形成簇,所以我得到这样的模式:
a <- matrix(c(0,1,3,2,0,.32,1,.5,0,.35,1.2,.4,.5,.3,.2,.1,.5,.2,0,-.1), byrow=T, nrow=5)
cl <- clara(a,2)
matplot(t(a),type="b", pch=20, col=cl$clustering) 

但是我想找到一种聚类方法,根据趋势为每条线分配一个簇,因此第1,2和3行属于一个簇,第4和第5行属于另一个簇.
这个问题可能更适合stats.stackexchange.com,但无论如何这里都是一个解决方案.
您的问题实际上是"如何选择正确的距离指标?".您需要一个距离来衡量趋势中的相似性,而不是这些向量之间的欧几里德距离.
这是一个选项:
a1 <- t(apply(a,1,scale))
a2 <- t(apply(a1,1,diff))
cl <- clara(a2,2)
matplot(t(a),type="b", pch=20, col=cl$clustering) 

我没有定义新的距离度量,而是通过转换数据完成了同样的事情.首先缩放每一行,以便我们可以比较相对趋势,而不会在规模上产生差异.接下来,我们只是将数据转换为差异.
警告:这是不是一定要为所有的"趋势"的数据.特别是,观察连续的差异只能捕获"趋势"的单个有限方面.您可能需要考虑更复杂的指标.