Foro de debate

Superponer curva normal en un barplot

Superponer curva normal en un barplot

de Irene . -
Número de respuestas: 2

Hola,

Tengo la siguiente distribución binomial:

> set.seed(625766839)

> dist<- rbinom(100,10,0.25)

 [1] 2 0 4 1 4 2 3 1 2 2 3 3 1 1 3 0 3 4 3 1 3 3 4 2 3 4 2 2 3 5 4 1 2 3 3 2 3 4 1 2

[41] 5 2 2 7 2 2 2 7 5 1 0 2 1 3 0 1 4 1 1 4 3 3 3 3 2 3 2 2 2 2 4 2 1 4 4 0 5 2 4 3

[81] 1 1 6 3 1 0 3 2 1 1 4 2 5 1 2 1 1 3 4 3


Necesitaría dibujar un histograma con los valores generados para dist, y superponer la

la curva normal que se esperaría según el teorema central del límite.El problema es que al tratarse de variables categóricas, lo que en realidad tendría que dibujar es un barplot y sobre el superponer la curva normal, que al tener diferente escala en el eje y, me queda muy pequeña, como se ve en la siguiente imagen:

Barplot con curva normal

Lo que necesitaría es superponer la curva normal


 graf2<- curve(dnorm(x,2.5,1.37),-1,7)

en el barplot de la figura de arriba, de forma que me quedara algo similar a esto:


Histogram and density curve


Gracias!!!

En respuesta a Irene .

Re: Superponer curva normal en un barplot

de Manuel Muñoz Márquez -

Buenas:

Puedes hacer un diagrama de barras con frecuencias relativas, o bien multiplicar la curva por el número de observaciones.

set.seed(625766839)
dist<- rbinom(100,10,0.25)
barplot(table(dist)/length(dist),ylim=c(0,0.5))
curve(dnorm(x,2.5,1.473675),-1,7, add=TRUE)

Barras y normal

En respuesta a Irene .

Re: Superponer curva normal en un barplot

de Alfredo Holley -

Va a ver si te sirve.

Saludos!

N = 100 #tamaño poblacional

try = 10

prb = 0.25

n_samp = 3 #tamaño muestral


dist_pop <- rbinom(N, try, prb)

std_error <- sd(dist_pop)/sqrt(n_samp)

x <- seq(min(dist_pop), max(dist_pop), length= 1000)

TCL_curve <- dnorm(x, mean= mean(dist_pop), sd= std_error)*N

barplot(table(dist_pop), ylim= c(0, 5+max(TCL_curve)))

points(x, TCL_curve, lwd= 2, "l", col= "black")