Kann nicht Histogramm ziehen, ‚x‘ muss numerisch sein
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?
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 = ",")