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?

Était-ce utile?

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 = ",")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top