张金龙的博客分享 http://blog.sciencenet.cn/u/zjlcas 物种适应性、分布与进化

博文

NTsys实现聚类分析及树状图的绘制

已有 33693 次阅读 2011-4-2 02:58 |个人分类:统计分析|系统分类:科研笔记|关键词:学者| 聚类分析

 
 
注意:聚类分析和树状图在R软件中能够十分方便的实现,而在NTsys中实现的过程较为复杂。但由于NTsys软件是图形界面操作的,这里仍然列出相应的操作步骤,以供同仁参考。

以下内容 首次发表在planta论坛
 
NTsys可以处理质量性状与连续数量性状,并据此计算多种距离矩阵,根据距离矩阵采取适当的聚类方法得到聚类图。
每一个运算步骤,均有相应的模块执行,需要做的只是选择相应的参数。
以UPGMA法为例
对于数量性状,常遵循以下步骤:


1 矩阵的制作

操作:在Excel里,按照NTsys的要求面做好矩阵。

第1行第1个数字一般填1,代表要处理的数据为数字矩阵。
第1行第2个数字填行数,第3个数字填列数。
第1行第4个数字,如果有缺失值填1,没有缺失值填0.当然最好不要有缺失值。

第2行 按照顺序填写每一列的名称。第2行的定格要空出来。
第3行 开始才是正式的数据矩阵。从第3行开始,第1列作为要操作的单元名称。
数据准备好后,一般要存为Excel97格式。

再用ntedit打开,查看是否有错误,如果没有错误,建议另存为“.nts”格式的文件,如data.nts.

2 矩阵的标准化,数据标准化的是为了便于数据的横向比较。
操作:采用左侧output&Transf. 栏下的Standardization模块. 一般是将数据减去算术平均值,并除以标准差,转换为N(0,1)分布。
3 计算距离矩阵
操作:采用左侧Similarity 栏下的 Interval data模块(又称simint),默认为平均分类距离(Average taxonomic distance)。
其公式可以参考帮助文件。
当然,有多种距离可供选择:
如: Bray-Curtis distance.
DIST Average taxonomic distance.
DISTSQ Squared average distances.
EUCLID Euclidean distances.
EUCLIDSQ Euclidean distances squared.
MANHAT Average Manhattan distances (city block).
PSHAPE Penrose's shape coefficient.
PSIZE Penrose's size coefficient.
CORR Pearson product-moment correlation.
4 依据第3步计算出的距离矩阵,进行聚类分析,计算聚类树矩阵。
操作:点击左侧Clustering栏下的 SAHN模块,默认为UPGMA。
也有多种算法可以选择。这里采用UPGMA.

5 将第4步计算出的聚类树矩阵,和第三部计算的距离矩阵进行比较,进行Mantel检测,计算协表距离矩阵,及相关性系数。以表示该聚类树对原始距离矩阵的代表程度。
操作: 点击左侧Graphics栏下的 Matrix comparison plot输入聚类树矩阵与距离矩阵,运行即可。

6 绘制聚类树图
操作: 点击左侧Graphics栏下的 Tree plot,选择聚类树距离文件,就可做出聚类结果图。


当然,一步一步操作非常麻烦,所以建议最好用批处理命令进行。
批处理命令脚本的编写:
"为注释行
*为命令行
“*”后紧跟模块名称, "o"为要读取的文件,"r"为运行后的结果存储的文件
另有多种参数。

对数量性状进行聚类分析,采用UPGMA方法的批处理代码如下:

" Standardize the variables
*stand o=data.nts r=sdata.nts
" Compute a distance matrix
*simint o=sdata.nts r=dist.nts c=dist
" Do a single-link cluster analysis of the distance matrix
*sahn o=dist.nts r=tree.nts
" Compute cophenetic values
*coph o=tree.nts r=coph.nts
" Compute the cophenetic correlation
*mxcomp x=coph.nts y=dist.nts
" Display phenogram
*tree o=tree.nts
" Display distance matrix
*output o=dist.nts

将以上脚本复制到记事本中,将扩展名改为.ntb文件,就可执行批处理命令了。

下载相应的文档和软件

 

ntsys.rar

NTsys软件进行聚类分析UPGMA.pdf  [该文档为转载]

 

 

 

 

 


聚类树状图 举例

 

附录 NTsys进行主成分分析的脚本

主成份分析的散点图
ntsys目前可以绘制三维的散点图

" Standardize variables (rows)
*stand o=data.nts r=sdata.nts
" Compute correlations among variables (rows)
*simint o=sdata.nts c=corr r=corr.nts d=row
" Output the correlation matrix
*output o=corr.nts
" Extract first 3 PCA axes from correlation matrix
*eigen o=corr.nts n=3 r=vect.nts val=val.nts
" Output principal component axes
*output o=vect.nts
" Project objects onto PCA axes
*proj o=sdata.nts d=col f=vect.nts r=proj.nts
" Output projections
*output o=proj.nts
" Display 3D plot of projection of objects
*mod3d o=proj.nts
" Display 3D plot of variables defining the PCA axes
*mod3d o=vect.nts d=col



https://m.sciencenet.cn/blog-255662-428878.html

上一篇:春之印象:早春
下一篇:春之印象:仲春

2 雷栗 梅卫平

发表评论 评论 (16 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 23:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部