web-dev-qa-db-fra.com

RDA, erreur dans colMeans (x, na.rm = TRUE): 'x' doit être numérique, lorsque les données sont numériques?

Je veux effectuer un rda en R, en utilisant végétalien.

Mon code ressemble à ceci:

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)

et j'obtiens le message d'erreur:

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

lorsque je vérifie mes données, j'obtiens:

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"

Il n'y a pas de NA ou de blancs dans mon ensemble de données. Mais il semble que l'ensemble de données sur les espèces soit le problème. J'ai compilé un nouvel ensemble de données avec l'espèce, mais je reçois à nouveau le même problème. Des idées?

14
user3420443

Au lieu d'utiliser "mode", vous devriez tester avec "classe". Vous avez probablement une colonne de facteurs. Ils sont de mode numérique mais testez FAUX avec 'is.numeric'.

14
42-