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?

Foi útil?

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 = ",")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top