2013-08-01 25 views
2

我试图将250种物种的行为特征聚类为生活史策略。性状数据由数字和名义变量组成。我相对较新的R和聚类分析,但我相信找到这些点的距离的最佳选择是在雏菊函数中使用gower相似度方法。 1)这是最好的方法吗?确定群集的最佳数量以及Daisy函数和Gower相似度

一旦我有了这些距离,我想找到重要的集群。我研究过pvclust,并且喜欢它能够给我集群的力量。但是,我无法修改代码以接受以前使用菊花进行的距离测量。我曾经失败试图按照这里https://stats.stackexchange.com/questions/10347/making-a-heatmap-with-a-precomputed-distance-matrix-and-data-matrix-in-r/10349#10349给出使用这里http://www.is.titech.ac.jp/~shimo/prog/pvclust/pvclust_unofficial_090824/pvclust.R

2)获得的代码谁能帮我修改现有的代码来接受我的距离测量的建议吗?

3)或者,还有另一种更好的方法来确定重要的群集数量吗?

我很感谢您的帮助。

回答

0

您可以使用Zahn算法来查找群集。基本上它是一个最小生成树和一个删除最长边的函数。

1

一些评论...

关于1)

这是处理不同类型的数据的好方法。

您也可以在数据集中创建尽可能多的新行,并将1/0放在需要的位置。例如,如果有3个标称值,例如“爬行动物”,“哺乳动物”和“鸟类”,则可以更改具有4列(数字,数字(表示)的新列的2列(数字,标称) 的初始数据集爬行动物),数字(代表哺乳动物),数字(代表鸟类))实例(23.4,“哺乳动物”)将被映射到(23.4,0,1,0)。

使用此映射,您可以使用“正常”距离(确保将数据标准化,以避免列由于其大/小值而支配其他列)。

关于2)

菊花返回类型相异的元素,你可以从集群包装等聚类算法使用它(也许你并不需要实现更多的东西)。例如,函数pam可以直接获取daisy返回的对象。

关于3)

集群是真正的主观和最簇算法依赖于初始条件,使“显著集群”是不是真的,有些人会不舒服使用的术语。 Pam在你的情况下可能很有用,因为集群使用medoids进行集中,这对名义数据很有用(因为它是可解释的)。例如,K-means的缺点是质心不可解释(它是指1/2爬行动物1/2哺乳动物是什么意思?)pam将集群建立在以解释为目的的好实例上。

有关PAM:

http://en.wikipedia.org/wiki/K-medoids

http://stat.ethz.ch/R-manual/R-devel/library/cluster/html/pam.html

相关问题