我在使用 R 中的 vegan 包运行 NMDS 时遇到问题。我正在使用每单位努力捕获的鱼量 (CPUE)/丰度矩阵,我认为我的矩阵设置不正确。
这是我用来创建物种矩阵的代码:
species_matrix <- ForageFish_annual_stats_year_region %>%
pivot_wider(names_from = NODCCODE, values_from = AnnualCPUE, values_fill = 0) %>%
select(-Region)
species_matrix <- ForageFish_AllRegions_AllGears %>% pivot_wider(names_from = NODCCODE, values_from = CPUE, values_fill = 0)
species_matrix <- na.omit(species_matrix)
每当我尝试使用物种矩阵运行 NMDS 时,R 都会中止或告诉我我的压力(几乎)为零:您可能没有足够的数据。
com = species_matrix[,7:11]
env = species_matrix[,2:6]
m_com = as.matrix(com)
set.seed(123)
nmds = metaMDS(m_com, distance = "bray")
本质上,我试图获得一个包含每个物种的物种矩阵(NODCCODE),以便我可以了解多年来环境因素如何影响每个地区的物种。
我想知道如何根据上面的年度统计数据图像正确制作物种矩阵?我认为这可能有助于解决我在运行 NMDS 时遇到的问题。
R不会中止,但运行正常并告诉您“压力(几乎)为零:您可能没有足够的数据”。请注意冒号后面的部分:您可能数据不足。此外,压力几乎为零意味着您已经获得了“完全适合”的解决方案(压力几乎为零)。然而,该解决方案可能不是(而且很可能不是)唯一的,但可能还有其他几种具有同样良好的拟合效果且几乎为零应力的解决方案。您没有足够的数据来运行nonmetric MDS 等复杂分析。您可能需要比数据中的这五个更多的采样单位和/或可能更多的分类群。
如果您确实想使用多变量方法分析数据,则应该使用metric排序。如果您希望使用欧几里德距离以外的其他距离,我建议使用主坐标分析 (PCoA),如果您认为欧几里德距离还可以,我建议使用主成分分析 (PCA)。