星期三, 六月 29, 2011

R语言中的多维标度分析

多维标度(Multidimensional scaling,缩写MDS,又译“多维尺度”)也称作“相似度结构分析”(Similarity structure analysis),属于多重变量分析的方法之一,是社会学、数量心理学、市场营销等统计实证分析的常用方法。

下面的算例以一个多维数据为样本,其中指标变量有17个,样本个数为27个。


#读入数据
data1=read.table('clipboard',T)
#数据标准化
test=scale(data1[,2:17])
#计算距离矩阵
d=dist(test)
#利用经典多维标度方法建模
voles=cmdscale(d,k=10,eig=T)
#计算前两个维度的特征值的比,超过0.9,意味着用两个维度即可表示出整个数据结构。
sum((voles$eig[1:2])^2)/sum((voles$eig)^2)
x <- voles$points[,1]
y <- voles$points[,2]
#绘制两维坐标
plot(x, y, xlab = "Coordinate 1", ylab = "Coordinate 2",
 xlim = range(x)*1.2, type = "n")
text(x, y, labels = data1$地区)
上图显示,广东江苏二者形成一组,河南、山东、湖北等省形成一组,之后江西、新疆等省又是一组,而湖南、甘肃的地位比较特别。

没有评论:

发表评论