您的位置:

NMDS分析的多个方面详解

一、NMDS分析的基本概念

NMDS全称为非度量多维尺度分析(Non-Metric Multidimensional Scaling),它是一种无需前提假设的多元统计方法,能够将高维度的数据(尤其是距离矩阵)转化为低维度的点阵图,同时能够保持点之间的距离关系。NMDS分析常被用于生态学、植物学、心理学以及社会科学等领域。

NMDS分析的输入数据必须是一个关于点的距离矩阵(Euclidean, Bray-Curtis, Jaccard等)。它的输出结果通常是个二维或三维点阵图(如下图),各点代表不同样本或变量,数据点之间的距离关系反映了它们在高维空间中的相似性。

NMDS分析结果示例

二、NMDS分析的输入数据格式

在进行NMDS分析前,我们需要先准备好距离矩阵。距离矩阵是一个n * n的矩阵,n代表样本或变量的数量,每个元素代表两个样本或变量之间的距离。

距离矩阵的表现形式有多种,例如一个CSV文件,或是一个R语言中的dist对象。下面是一个简短的示例代码,演示如何从一个CSV文件中读取距离矩阵:

dist_matrix <- read.csv("path/to/file.csv", row.names = 1)

注意,这里使用了row.names参数来将第一列指定为行名。

三、NMDS分析的过程

一般来说,进行NMDS分析的过程可以分为以下几步:

1、距离矩阵处理

NMDS分析通常需要对距离矩阵进行一些数学处理,以去除非必要的误差、数据嘈杂以及偏见等问题。其中最常见的方法是双重中心处理和PCoA处理。在R语言中,进行这些处理的函数分别是:

# 双重中心处理
dist_matrix <- as.matrix(dist_matrix)
d_center   <- distfun(dist_matrix)^2
dc         <- d_center - rowMeans(d_center) - colMeans(d_center) + mean(d_center)

# PCoA处理
pcoa <- cmdscale(d_center, k = nrow(d_center) - 1)

2、选择合适的距离方法和转换方法

在进行NMDS分析时,我们需要选择合适的距离方法和转换方法。常用的距离方法包括Euclidean、Bray-Curtis和Jaccard等。转换方法包括线性欧氏距离(PCA)、Sammon映射、Guttman方案和MonoMDS等。在R语言中,进行这些操作的函数分别是:

# 距离方法
d_bc     <- vegdist(df, method = "bray") # Bray-Curtis距离
d_jac    <- vegdist(df, method = "jaccard") # Jaccard距离
d_eucl   <- dist(df, method = "euclidean") # Euclidean距离

# 转换方法
mono_mds <- isoMDS(d_bc) # MonoMDS转换
gut      <- isoMDS(d_bc, type = "guttman") # Guttman方案转换
sammon   <- sammon(d_bc) # Sammon映射转换

3、选择合适的构图方法和系数

选择合适的构图方法和系数是进行NMDS分析的重要步骤。常用的构图方法包括梯度构图(Gradient Plot)和分组构图(Cluster Plot)等。在R语言中,可以借助ggplot2和vegan包来构建这些图形。

举例而言,下面这段代码演示了如何使用梯度构图:

# 读取距离矩阵
dist_matrix <- read.csv("path/to/file.csv", row.names = 1)

# 双重中心处理
dist_matrix <- as.matrix(dist_matrix)
d_center   <- distfun(dist_matrix)^2
dc         <- d_center - rowMeans(d_center) - colMeans(d_center) + mean(d_center)

# NMDS分析
nmds <- monoMDS(dist_matrix, k = 2)

# 构建梯度图
plot_gradient(nmds, metadata)

4、评估NMDS的可靠性

NMDS在不同的数据集上可能会表现出不同的结果。为了评估NMDS的可靠性,我们需要对样本或变量的顺序进行随机置换,重复运行NMDS分析,并对结果进行评估。

在R语言中,实现这个过程的函数是metaMDS,它能够逐渐逼近最终结果,直至收敛。

results <- metaMDS(dist_matrix)

四、NMDS分析的结果

NMDS分析的结果通常是一个二维或三维的点阵图。这些点阵图可以帮助我们理解样本或变量之间的相似性,从而得出进一步的结论。

例如,下面这张图展示了100家公司的品牌名称,可以通过颜色、形状、标注和布局等手段较好地将它们区分开来:

100家公司品牌的3D点阵图

从图中可以很明显地看出这些公司之间的相似性和差异性。进一步的研究结果也表明,这些品牌的相似性和差异性与它们的品牌宣传、品牌形象和品牌地位等因素密切相关。