SIMPER(R)在seq_len中得到错误(min(其中(z> = 0.7))):

时间:2017-01-23 09:54:53

标签: r vegan

我目前正在尝试将SIMPER {vegan}功能运行到其中包含NA并且当前不能变为0的矩阵。

我得到了:

Error in seq_len(min(which(z >= 0.7))) : 
argument must be coercible to non-negative integer
In addition: Warning message:
In min(which(z >= 0.7)) : no non-missing arguments to min; returning Inf

有没有办法做到这一点,或者我必须转换数据?

谢谢, Pedro L。

1 个答案:

答案 0 :(得分:1)

我认为我解决了你的问题,尽管阅读了如何发布可重现问题的常见问题解答。

您遇到的问题基本上是您的数据z中的任何内容都未满足“>= 0.7”,因此您将返回integer(0)。这基本上是错误消息:“In min(which(tg >= 0.7)) : no non-missing arguments to min; returning Inf"引用。

第一条错误消息是由于您尝试计算:“seq_len(integer(0))”返回:“Error in seq_len(min(which(tg >= 0.7))) : argument must be coercible to non-negative integer”。

可重复数据:

tg<-matrix(data=seq(0.01,0.25,0.01),5,5)
seq_len(min(which(tg>=0.7)))

所以解决方法是:通过将表达式seq_len(min(which(tg>=0.7)))除以不同部分来检查矩阵“z”及其结果。首先运行which(tg>=0.7),然后运行min(which(tg>=0.7)),依此类推。这对于一般的代码疑难解答非常有用。

祝你好运!