no se puede sacar de histograma, 'x' debe ser numérico
Pregunta
Tengo un archivo de datos con este formato:
Weight Industry Type
251,787 Kellogg h
253,9601 Kellogg a
256,0758 Kellogg h
....
He leído los datos y tratar de dibujar un histograma con estos comandos:
ce <- read.table("file.txt", header = TRUE)
we = ce[,1]
in = ce[,2]
ty = ce[,3]
hist(we)
Pero me sale este error:
Error en hist.default (nos):. 'X' debe ser numérico
¿Qué necesito hacer para llamar la histogramas para mis tres variables?
Solución
Debido al separador de miles, los datos se habrá leído como 'no numérico'. Por lo que necesita para convertirlo:
we <- gsub(",", "", we) # remove comma
we <- as.numeric(we) # turn into numbers
y ahora se puede hacer
hist(we)
y otras operaciones numéricas.
Otros consejos
Tenga en cuenta que usted podría así trazar directamente de ce
(después de la coma eliminación) utilizando el nombre de la columna:
hist(ce$Weight)
(en lugar de utilizar hist(ce[1])
, lo que llevaría a la misma "debe ser numérico" error.)
Esto también funciona para un resultado de consulta de base de datos.
Utilice el diciembre argumento para ","
conjunto como el punto decimal añadiendo:
ce <- read.table("file.txt", header = TRUE, dec = ",")