一、NMDS分析的基本概念
NMDS全称为非度量多维尺度分析(Non-Metric Multidimensional Scaling),它是一种无需前提假设的多元统计方法,能够将高维度的数据(尤其是距离矩阵)转化为低维度的点阵图,同时能够保持点之间的距离关系。NMDS分析常被用于生态学、植物学、心理学以及社会科学等领域。
NMDS分析的输入数据必须是一个关于点的距离矩阵(Euclidean, Bray-Curtis, Jaccard等)。它的输出结果通常是个二维或三维点阵图(如下图),各点代表不同样本或变量,数据点之间的距离关系反映了它们在高维空间中的相似性。
二、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家公司的品牌名称,可以通过颜色、形状、标注和布局等手段较好地将它们区分开来:
从图中可以很明显地看出这些公司之间的相似性和差异性。进一步的研究结果也表明,这些品牌的相似性和差异性与它们的品牌宣传、品牌形象和品牌地位等因素密切相关。