R语言 3.14 多维标度法MDS

  • 定义
    多维标度法是利用客体间的相似性数据去揭示它们之间的空间关系的统计分析方法。
  • 种类
    1.度量化模型
    若模型所需要的相似性数据是用距离尺度或比率尺度测得的
    2.非度量化模型
    若模型需要顺序量表水平的相似数据,就称为非度量化模型

多维标度分析古典函数cmdscale的用法:
cmdscale(D,k=2,…)
D表示进行多维标度分析的距离矩阵,k表示维度,默认取2维

D=matrix(c(0,1,sqrt(3),2,sqrt(3),1,1,1,0,1,sqrt(3),2,sqrt(3),1,sqrt(3),1,0,1,sqrt(3),2,1,2,sqrt(3),1,0,1,sqrt(3),1,sqrt(3),2,sqrt(3),1,0,1,1,1,sqrt(3),2,sqrt(3),1,0,1,1,1,1,1,1,1,0),nrow=7,ncol=7)
round(cmdscale(D),3) 

R语言 3.14 多维标度法MDS_第1张图片
D的古典解
eg根据城市的距离矩阵,在二维平面上把城市标出来
R语言 3.14 多维标度法MDS_第2张图片

MSD1=cmdscale(X)
MSD1

R语言 3.14 多维标度法MDS_第3张图片
计算出二维坐标的十个坐标点
画图标点

plot(MSD1[,1],MSD1[,2],type = 'n',asp = 1)
text(MSD1[,1],MSD1[,2],labels = rownames(X))

R语言 3.14 多维标度法MDS_第4张图片
2.
非度量法多维标度分析函数isoMDS的用法
需要调用包MASS
isoMDS(D,k=2,…)
D表示距离阵,k表示维度
注意D必须为矩阵,可用函数as.matri将数据框等其他形式转换成矩阵形式。

D=as.matrix(X)
MDS2=isoMDS(D,k=2)
MSD2

R语言 3.14 多维标度法MDS_第5张图片
压力指数0.04,小于0.05就非常好

plot(MDS2$points[,1],MDS2$points[,2],type = 'n')
text(MDS2$points[,1],MDS2$points[,2],labels = rownames(D))

R语言 3.14 多维标度法MDS_第6张图片
与古典解基本一致
多维标度法的计算过程:
1.确认研究目的
2.选择样品和变量
3.计算样品间的距离矩阵
4.分析样品间的距离矩阵
5.计算距离阵的古典解
6.检验模型的拟合效果
R语言 3.14 多维标度法MDS_第7张图片

你可能感兴趣的:(R语言 3.14 多维标度法MDS)