pts[groups==i,drop=FALSE]中出错:(下标)逻辑下标太长-带betadisper()

pts[groups==i,drop=FALSE]中出错:(下标)逻辑下标太长-带betadisper(),r,vegan,R,Vegan,你好,亲爱的互联网社区 当我遇到一个非常新的问题时,我正试图使用素食者{}的betadisper函数。我得到的错误如下: Error in pts[groups == i, , drop = FALSE] : (subscript) logical subscript too long 所以,我想我应该通过谷歌来检查这个问题,我已经看到了一些关于同一类问题的帖子。我发现我可以使用trace和traceback函数来查看问题所在,因此,在我发布结果之前,这里是我试图实现的一

你好,亲爱的互联网社区

当我遇到一个非常新的问题时,我正试图使用素食者{}的betadisper函数。我得到的错误如下:

Error in pts[groups == i, , drop = FALSE] : 
          (subscript) logical subscript too long
所以,我想我应该通过谷歌来检查这个问题,我已经看到了一些关于同一类问题的帖子。我发现我可以使用trace和traceback函数来查看问题所在,因此,在我发布结果之前,这里是我试图实现的一个描述

我试图用betadisper来观察植物物种丰富度在不同环境变量下的多元离散性。 数据由2432行898个物种和5个环境变量组成

以下是我对数据所做的操作:

X_env <- as.matrix(Y[,c( 16:19)]) # subsetting the environmental variables from the core matrix
X_abondance <- Y[, 22:1010]  # subsetting the abundance data from the core matrix
X_abondance <- decostand(X_abondance, method = "hellinger")
dist_X_abon <- dist(X_abondance, method = "euclidean")
disper_bobb <- betadisper(dist_X_abon, bobb_env)
这就是我收到错误信息的地方。 让我们看看trace说了些什么:

4: ordimedian(vectors, group, choices = axes[pos])
3: spatialMed(vectors, group, pos)
2: betadisper(dist_X_abon, X_env)
1: trace(disper_X <- betadisper(dist_X_abon, X_env))
在这一点上,我迷路了,我不知道该怎么办。。。
这是我第一次遇到这个问题,我不知道如何解决它,如果有人有想法,我将非常感谢你的帮助

我已经找到了无法继续使用betadisper函数的原因。 我试图使用不同类别的变量,这在这里是不可能做到的。 当我只使用一个具有不同级别的变量时,我可以使它工作得非常好