Histograma con curva normal para un conjunto de datos más grande

Soy nuevo en R y estoy tratando de trazar un histograma para los siguientes números

Entrada.txt

a b c 1.111 
d e f 2.3433 
g h i 9.87667 
............ 
............

Registros totales - 2444910

Valor máximo - 142701.38999976

Hasta ahora he probado esto

setwd ("/path/")
data <- read.table ("input.txt", sep="\t", header=F)
x <-data$V4
bins = seq(0,150000,by=10000)
h <- hist(x, breaks=bins, probability=TRUE)
s = sd(x)
m = mean(x)
curve(dnorm(x, mean=m, sd=s), add=TRUE, lwd=3, col="red")
lines(density(x), col="blue")
abline(v=mean(x),col="blue")
mtext(paste("mean ", round(mean(x),1), "; sd ", round(sd(x),1), "; N ",length(x),sep=""), side=1, cex=.75)
dev.off()

Pero, todo lo que pude obtener fue una sola barra de histograma cerca de la coordenada (0,0). Cualquier ayuda es apreciada.

preguntado el 12 de junio de 12 a las 14:06

Has comprobado typeof(data$V4) (o is.numeric(data$V4)) para estar seguro de que sigue siendo numérico? ¿Se aseguró de que más de un valor sea mayor que su primer valor de contenedor de 10 000? echa un vistazo al valor de m y median(x) también, tal vez. -

Hacer esto: table(cut(data$V4, bins)) , .... Supongo que está obteniendo un resultado correcto que no esperaba. -

Mi primer valor comienza en 2.1111775 y el valor final es el valor máximo que publiqué en mi pregunta. -

@Dwin - ¿Dónde agrego table(cut(data$V4, bins)) en mi código. Lo siento, soy nuevo en R. Estoy bastante seguro de que el recuento de contenedores me está volviendo loco. El eje x en mi imagen de salida es así 0-50000-100000-150000. Mi eje Y tiene valores de densidad que van desde o hasta 5e-04. Gracias -

Simplemente escriba el código en el indicador de la consola. El punto es que casi todos sus datos estarán en el primer contenedor. Parece que todavía no entiendes eso. -

1 Respuestas

dat <- data.frame(V4=c(runif(10000, 1,5000), 149999))
hist(dat$V4, breaks=c(seq(0,5000,100), 150000) )

Para excluir valores atípicos:

hist(dat$V4[dat$V4 <5000], breaks=c(seq(0,5000,100)) )

Respondido el 12 de junio de 12 a las 18:06

Todavía genera la misma trama DWin. Sin suerte. :( - j Smith

Bueno, lo probé con el ejemplo anterior y devuelve el resultado esperado. Si no le gustan esos resultados, debe modificar sus datos excluyendo el valor atípico. - IRTFM

Gracias Dwin. ¿Puede decirme cómo excluir los valores atípicos en mi conjunto de datos? Gracias por tu tiempo. - j Smith

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.