如何利用R软件进行聚类分析
的有关信息介绍如下:在统计分析中,经常会用到聚类分析方法,R软件开放的代码设置会很方便的帮我们完成此项工作。这里只介绍操作方法,最长距离法、最短距离法等系统聚类方法的理论知识这里就不阐述了。
打开R软件,输入数据,生成距离结构。这里设样本数据为1,2,3,7,8,9,15。输入代码:x=c(1,2,3,7,8,9,15);dim(x)=c(7,1);d=dist(x)
其中x是生成向量,dim表示定义向量的维数,dist表示生成距离矩阵。
生成系统聚类。
输入代码:
hc1=hclust(d,"single");
hc2=hclust(d,"complete");
hc3=hclust(d,"median");
hc4=hclust(d,"average");
其中hclust表示系统聚类计算函数,single、complete、median、average分别表示最短距离法、最长距离法、中间距离法、类平均法这四类计算方法。
绘制出聚类图形。利用plot函数绘制出最短距离法计算的聚类图。
代码:plot(hc1)
为了方便比较各聚类方法的效果,可以将不同方法的图绘制在一张图上。
输入代码:
opar=par(mfrow=c(2,2))
plot(hc1,hang=-1);
plot(hc2,hang=-1);
plot(hc3,hang=-1);
plot(hc4,hang=-1);
par(opar)
其中par为绘图参数函数。mfrow为设置小图数量的参数,mfrow=c(2,2)表示把图按行排列成2×2个小图。
画出的图形见下图。
从图中可以看出聚类的结果为第1,2,3个值为一类,4,5,6个值为一类,第七个值为一类。共分为三类。如果想自动设置分类个数,可以利用函数rect.hclust。
plot(hc1);re=rect.hclust(hc1,k=2)表示将聚类图分为两类。
从图中可以看出,数据组已经自动分类两类。分类结果R软件已在图形中标出。完成。