J'ai un fichier de données avec ce format:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
J'ai lu les données et j'essaie de dessiner un histogramme avec ces commandes:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
Mais je reçois cette erreur:
Erreur en hist.default (we): 'x' doit être numérique.
Que dois-je faire pour dessiner des histogrammes pour mes trois variables?
En raison du séparateur de milliers, les données auront été lues comme "non numériques". Vous devez donc le convertir:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
et maintenant vous pouvez faire
hist(we)
et d'autres opérations numériques.
Notez que vous pouvez également tracer directement à partir de ce
(après la suppression de la virgule) en utilisant le nom de la colonne:
hist(ce$Weight)
(Par opposition à l'utilisation de hist(ce[1])
, ce qui entraînerait la même erreur "doit être numérique".)
Cela fonctionne également pour un résultat de requête de base de données.
Utilisez l'argument dec pour définir ","
comme point décimal en ajoutant:
ce <- read.table("file.txt", header = TRUE, dec = ",")