Ne peut pas tirer Histogramme, « x » doit être numérique
Question
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
....
I lire les données et essayer d'établir un histogramme avec cette commande:
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 (nous): 'x' doit être numérique
.
Que dois-je faire pour tirer mes histogrammes trois variables?
La solution
En raison du séparateur de milliers, les données ont été lues comme « non numérique ». Vous avez donc besoin de le convertir:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
et vous pouvez maintenant faire
hist(we)
et d'autres opérations numériques.
Autres conseils
Notez que vous pouvez aussi bien tracer directement à partir ce
(après la virgule suppression) en utilisant le nom de la colonne:
hist(ce$Weight)
(par opposition à l'aide hist(ce[1])
, qui conduirait à la même « doit être numérique » erreur.)
Cela fonctionne également pour un résultat de requête de base de données.
Utilisez le décembre argument pour définir ","
comme point décimal en ajoutant:
ce <- read.table("file.txt", header = TRUE, dec = ",")