0

我有一张来自 16 个不同样本(木质部树组织)的真菌物种丰度表,这些样本属于三个健康类别。

我想根据健康等级可视化这些样本的相似性。我已经运行了 metaMDS(素食包)并绘制了 metaMDS 的输出,这是获得的距离的示例(data_mds)

      NMDS1        NMDS2
1  -25.82806 -0.216970172
2  -24.59347 -0.377391024
3  -25.80740  0.268355050
4  -23.41391 -0.793553278
5  -25.93017  0.179795622
6  -25.39369  0.471681826
7  -25.29794  0.044754740
8  -24.68337  1.612166365
9  400.26576  0.003309978
10 -23.21608 -0.632045558
11 -22.67440  0.268931564
12 -23.93604  0.551203963
13 -23.55546 -1.304642023
14 -25.77035 -0.989877602
15 -25.77835 -0.226395569
16 -24.38708  1.140676118

如果我绘制它们,样本 9 将扭曲所有图形,因此所有其他 15 个样本将在一个位置重叠(如图所示)。

15个样品重叠和9号样品单独

我尝试使用 gap.plot 在两组之间创建一个间隙,但我不知道如何创建一个图,其中 15 个样本更加分开(x 和 y 轴),然后为样本 9 设置一个单独的部分. 使用此代码,我设法创建了两个单独的图,但正如您在图 2 中看到的那样,15 个样本并未分布在 x 轴上。

nmds_plot <- plot(data_mds, main = "NMDS", type="none")
gap.plot(nmds_plot, gap=c(300, 350), gap.axis="x", xlim=c(-30, 500), ylim = c(-2, 2))

cols <- c("darkturquoise","darkturquoise","darkturquoise","darkturquoise","darkturquoise","darkturquoise","darkturquoise","darkturquoise",
      "grey0","grey0","grey0","grey0",
      "chocolate1","chocolate1","chocolate1","chocolate1")
pch_data_mds<-c(15,15,15,15,15,15,15,15,17,17,17,17,19,19,19,19)

points(nmds_plot, col=cols, pch=pch_data_mds, cex=1.4)

abline(v=0, col="gray59", lty="dotted")
abline(h=0, col="gray59", lty="dotted")

colsleg <- c("darkturquoise", "grey0", "chocolate1")
legend("topright", legend = c("Low", "Medium", "High"), col=colsleg , pch=c(15,17,19), cex=0.5, title = "Vitality classes")

图表划分但 15 个样本在 x 轴上没有间隔

感谢您的帮助

4

1 回答 1

0

你有不连续性和异常值。在排序图中没有轴中断的方法,但结果就是这样。但是,您可以使用xlimylim参数将绘图限制在所需范围内。通常你必须给出两个限制,因为排序图将具有相等的纵横比。但是,您通常会在重叠的一堆点中发现很少的结构,但您需要处理异常值。通常,成为异常值的原因是与其他点没有共同之处。删除异常值通常会有所帮助。有时noshare = TRUEmetaMDS通话中进行设置会有所帮助。

于 2017-06-08T04:31:38.980 回答