14

我想在 R 中使用 vegan 执行 rda。

我的代码如下所示:

species<- read.delim("springspecies1.txt", header=T)
envdata<- read.delim("springenv1.txt", header=T)

RDA <- rda(species~Temperature + Salinity + O2 + Phosphate + Nitrate + Silica, envdata, scale=T, na.action=na.omit)

我收到错误消息:

Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric

当我检查我的数据时,我得到:

sapply(species, mode)
      Station          Year         Month     S.marinoi      C.tripos 
    "numeric"     "numeric"     "numeric"     "numeric"     "numeric" 
      P.alata     P.seriata    R.setigera    C.pelagica D.confervacea 
    "numeric"     "numeric"     "numeric"     "numeric"     "numeric" 
  C.decipiens    P.farcimen       C.furca 
    "numeric"     "numeric"     "numeric"

我的数据集中没有 NA 或空白。但似乎物种数据集是问题所在。我用该物种编译了一个新的数据集,但我又遇到了同样的问题。有任何想法吗?

4

1 回答 1

14

您应该使用“类”进行测试,而不是使用“模式”。您可能有一个因子列。它们是数字模式,但使用“is.numeric”测试 FALSE。

于 2014-03-14T15:51:19.010 回答