There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】用SAS软件做聚类分析及构建系统聚类谱系树形图

数据分析 百蔬君 4009℃ 已收录 0评论

做方差分析,聚类分析是做科学研究的必备技能。之前做方差分析,都是用的南京农大编写的“方差分析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下来,放系统目录。

32位及64位系统的ActiveX插件

在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软件做聚类分析及构建系统聚类谱系树形图

喜欢 (53)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情