RDA,colMeans中的错误(x,na.rm = TRUE):当数据是数字时,'x'必须是数字?

时间:2014-03-14 15:39:06

标签: r vegan rda

我想使用素食主义者在R中执行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或空格。但似乎物种数据集是问题所在。我用物种编译了一个新的数据集,但我又遇到了同样的问题。有什么想法吗?

1 个答案:

答案 0 :(得分:12)

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