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

RDA,colMeans中的错误(x,na.rm=TRUE):&x27;x';数据为数字时,必须为数字?,r,vegan,rda,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

我想用纯素在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)
当我检查我的数据时,我得到:

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或空格。但似乎物种数据集是个问题。我用这个物种编辑了一个新的数据集,但我又遇到了同样的问题。有什么想法吗?

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

您可能有一些因素。使用
sapply(物种、类别)
,而不是
模式
,因为
模式
仍然会给出
数值
因子
的所有答案都应该是上乘的。“最正确”的答案将被选中。(请阅读常见问题。)
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"