Não é possível desenhar histograma, 'x' deve ser numérico
Pergunta
Eu tenho um arquivo de dados com este formato:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
Eu li os dados e tento desenhar um histograma com os comandos:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
Mas eu recebo este erro:
Erro en hist.default (nós): 'x' deve ser numérico.
O que preciso fazer para desenhar histogramas para minhas três variáveis?
Solução
Por causa do separador de mil, os dados serão lidos como "não numéricos". Então você precisa convertê -lo:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
E agora você pode fazer
hist(we)
e outras operações numéricas.
Outras dicas
Observe que você também poderia planejar diretamente de ce
(após a remoção de vírgula) usando o nome da coluna:
hist(ce$Weight)
(Ao contrário de usar hist(ce[1])
, o que levaria ao mesmo erro "deve ser numérico".)
Isso também funciona para um resultado de consulta de banco de dados.
Use o DEC argumento a serem definidos ","
como o ponto decimal, adicionando:
ce <- read.table("file.txt", header = TRUE, dec = ",")