做方差分析,聚类分析是做科学研究的必备技能。之前做方差分析,都是用的南京农大编写的“方差分析2013”,界面可视化,简单好用。最近需要做聚类分析,想要做一个树形图,一下子还不知道从哪里下手,慌的一批,我可是5年前还专门写过SAS的学术分析文章的,造成这个局面的主要原因就是当时没有把过程记录下来。
经过一番痛苦的撕扯和回忆,好像找回了一点感觉,这次要记下来了,不然下次又茫然不知所措。
1,SPSS,SAS等,我偏爱SAS一点。5年前,用的还是windows xp系统。从硬盘的角落找出S-SASwin 6.0,即使在兼容模式下,在windows 10也无法安装成功。在网上搜了一下SAS系统,发现SAS 9.4比较多,一看大小,差不多10个G了,放弃! 再经过一番查找,发现SAS 9.2 是ok的。大小2个G左右。直接安装搞定。
2,由于系统的兼容性,打开SAS时出现错误,提示“OLE:对象的类没有在注册数据库中注册”,再仔细一看是SAS的程序编辑器引起的。从这个提示看,这个系统可能是VB的吧,缺少windows的ActiveX插件支持。
这个好办,下载这个OCX下来,放系统目录。
在64位的系统,由于权限的原因,一定要用“以管理员身份运行”来执行注册OCX的BAT文件。
3,搞定了程序就来弄聚类分析了。
对于SAS数据,我一直使用EXCEL先整理好,然后导入SAS使用,免去很多使用SAS的DATA 步来输入文件造成的错误。所以这一步就略了。直接上程序。
proc cluster data= work.color method= AVE/MED/SIN/EML/MCQ/WAR outtree=tree0; var chlorophyll PlantDryWeight RootDryWeight RootLength RootWeight PlantWeight PlantHeight; id Breed; proc tree horizontal DATA=tree0; run;
首先把数据导入work 库中
“文件-导入数据”,这里一般选择excel了
选择整理好的数据文件
在work库中找一个成员,我这里就是新建的“color”
之后数据就导入成功了。
proc cluster data= work.color
这个意思就是执行聚类分析,数据选择我们刚刚导入的 work库中的color
method= AVE/MED/SIN/EML/MCQ/WAR outtree=tree0;
这个就是执行聚类分析的方法,AVE/MED/SIN/EML/MCQ/WAR这是六个聚类方法,喜欢哪一个用哪一个。然后把结果输出到tree0
var chlorophyll PlantDryWeight RootDryWeight RootLength RootWeight PlantWeight PlantHeight;
id Breed;
这个是对数据表中的各个变量和常量进行定义
proc tree horizontal DATA=tree0;
这个就是构建树形图了,可以选择横向还是纵向,我这里选择的横向horizontal,删除这个参数就显示为纵向,所用的数据就是上面聚类分析的结果tree0。
输出一系列图,喜欢哪个选哪个了哈
转载请注明:百蔬君 » 【原创文章】用SAS软件做聚类分析及构建系统聚类谱系树形图