Ik heb een gegevensbestand met deze indeling:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
Ik lees de gegevens en probeer een histogram te tekenen met dit commando:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
Maar ik krijg deze foutmelding:
Fout en hist.default(we) : ‘x’ moet numeriek zijn.
Wat moet ik doen om histogrammen te tekenen voor mijn drie variabelen?
Antwoord 1, autoriteit 100%
Vanwege het duizendtal-scheidingsteken worden de gegevens als ‘niet-numeriek’ gelezen. Dus je moet het converteren:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
en nu kun je dat doen
hist(we)
en andere numerieke bewerkingen.
Antwoord 2, autoriteit 22%
Merk op dat je net zo goed rechtstreeks vanuit ce
kunt plotten (na het verwijderen van de komma) met de kolomnaam :
hist(ce$Weight)
(In tegenstelling tot het gebruik van hist(ce[1])
, wat zou leiden tot dezelfde “moet een numerieke” fout zijn.)
Dit werkt ook voor een databasequeryresultaat.
Antwoord 3, autoriteit 17%
Gebruik het argument decom ","
als decimaalteken in te stellen door toe te voegen:
ce <- read.table("file.txt", header = TRUE, dec = ",")