Kan histogram niet tekenen, ‘x’ moet numeriek zijn

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 cekunt 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 = ",")

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes