Frage

Ich habe eine Datendatei mit folgendem Format:

Weight    Industry Type  
251,787   Kellogg  h  
253,9601  Kellogg  a  
256,0758  Kellogg  h  
....

lese ich die Daten und versuche, ein Histogramm mit diesen Befehlen zu ziehen:

 ce <- read.table("file.txt", header = TRUE)

 we = ce[,1]
 in = ce[,2]
 ty = ce[,3]

hist(we)

Aber ich diesen Fehler:

  

Fehler en hist.default (wir):. 'X' muss numerisch sein

Was muss ich tun, um zu Histogramme für meine drei Variablen zu ziehen?

War es hilfreich?

Lösung

Durch die Tausendertrennzeichen, werden die Daten als ‚nicht-numerischen‘ gelesen wurden. Sie müssen es konvertieren:

 we <- gsub(",", "", we)   # remove comma
 we <- as.numeric(we)      # turn into numbers

und jetzt können Sie tun

 hist(we)

und andere numerische Operationen.

Andere Tipps

Beachten Sie, dass Sie auch direkt von ce plotten konnten (nach dem Komma zu entfernen) mit dem Spaltennamen:

hist(ce$Weight)

(im Gegensatz zur Verwendung hist(ce[1]), die zu derselben führen würden Fehler „muss numerisch sein“.)

Das funktioniert auch für eine Datenbankabfrage Ergebnis.

Mit dem dec Argumente Satz "," als Dezimalpunkt durch Zugabe von:

 ce <- read.table("file.txt", header = TRUE, dec = ",")
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top