首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >非度量多维尺度分析(NMDS)

非度量多维尺度分析(NMDS)

作者头像
黑妹的小屋
发布2020-08-06 11:52:14
发布2020-08-06 11:52:14
3.7K0
举报

第一次接触NMDS,看到的时候一脸懵逼,后来经过查阅资料学习,非度量多维尺度分析是一种将多维空间的研究对象(样本或变量)简化到低维空间进行定位、分析和归类,同时又保留对象间原始关系的数据分析方法。适用于无法获得研究对象间精确的相似性或相异性数据,仅能得到他们之间等级关系数据的情形。其基本特征是将对象间的相似性或相异性数据看成点间距离的单调函数,在保持原始数据次序关系的基础上,用新的相同次序的数据列替换原始数据进行度量型多维尺度分析。换句话说,当资料不适合直接进行变量型多维尺度分析时,对其进行变量变换,再采用变量型多维尺度分析,对原始资料而言,就称之为非度量型多维尺度分析。其特点是根据样品中包含的物种信息,以点的形式反映在多维空间上,而对不同样品间的差异程度,则是通过点与点间的距离体现的,最终获得样品的空间定位点图,理解起来有点难度,我还是比较喜欢实践操作。分析过程如下:

> library(vegan)

载入需要的程辑包:permute

载入需要的程辑包:lattice

This is vegan 2.4-5

Warning message:

程辑包‘vegan’是用R版本3.4.3 来建造的

> data("varespec")

> data("varechem")

> rankindex(varechem,varespec)

euc man gow bra kul

0.2396330 0.2735087 0.2288358 0.2837910 0.2839834

> vare.dis <- vegdist(varespec,method = "bray");range(vare.dis)

[1] 0.1117280 0.9539592

> require(MASS)

载入需要的程辑包:MASS

> vare.mds0 <- isoMDS(vare.dis)

initial value 18.026495

iter 5 value 10.095483

final value 10.020469

converged

> ordiplot(vare.mds0,type = "t")

Warning message:

In ordiplot(vare.mds0, type = "t") : Species scores not available

> stressplot(vare.mds0,vare.dis)

> vare.mds <- metaMDS(varespec,trace = T)

Square root transformation

Wisconsin double standardization

Run 0 stress 0.1843196

Run 1 stress 0.2311596

Run 2 stress 0.195049

Run 3 stress 0.2096851

Run 4 stress 0.2075794

Run 5 stress 0.1955841

Run 6 stress 0.2048307

Run 7 stress 0.2266532

Run 8 stress 0.2391157

Run 9 stress 0.1843196

... New best solution

... Procrustes: rmse 0.0001060273 max resid 0.0004244422

... Similar to previous best

Run 10 stress 0.2080782

Run 11 stress 0.1982378

Run 12 stress 0.1843196

... New best solution

... Procrustes: rmse 2.861714e-05 max resid 8.876764e-05

... Similar to previous best

Run 13 stress 0.231162

Run 14 stress 0.2005511

Run 15 stress 0.2399346

Run 16 stress 0.1974422

Run 17 stress 0.2290228

Run 18 stress 0.195049

Run 19 stress 0.2164106

Run 20 stress 0.2100135

*** Solution reached

> vare.mds

Call:

metaMDS(comm = varespec, trace = T)

global Multidimensional Scaling using monoMDS

Data: wisconsin(sqrt(varespec))

Distance: bray

Dimensions: 2

Stress: 0.1825658

Stress type 1, weak ties

Two convergent solutions found after 20 tries

Scaling: centring, PC rotation, halfchange scaling

Species: expanded scores based on ‘wisconsin(sqrt(varespec))’

> plot(vare.mds,type = "t")

运行过程中产生图片如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜鸟学数据分析之R语言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档