3 votos

Herramienta para dibujar QQ-plot normal con línea de referencia de 45 grados

Tengo algunos datos (un conjunto de números) y quiero compararlos con la distribución normal utilizando QQ-plot. La única herramienta estadística que conozco es Octave, pero Octave no dibuja la línea de referencia.

enter image description here

Como se puede ver en la imagen anterior, el eje x tiene un rango de - 3 a 3, pero el eje y tiene un rango de 20 a 140. Creo que dibujar una línea con una pendiente de 45 grados sería incorrecto.

¿Cómo puedo dibujar esa línea de referencia en Octave? ¿O existe alguna herramienta sencilla que dibuje un QQ-plot con esa línea de referencia?

5voto

DavLink Puntos 101

He aquí una posible solución de Octave a su pregunta: (inspirada en gran medida en la función Matlab correspondiente)

randn("state",255)
x = normrnd(10, 2, 200, 1);
[q, s] = qqplot(x);

% compute the y=x line
dx = prctile(q, 75) - prctile(q, 25);
dy = prctile(s, 75) - prctile(s, 25);
b = dy./dx;                                % slope
xc = (prctile(q, 25) + prctile(q, 75))/2;  % center points
yc = (prctile(s, 25) + prctile(s, 75))/2;  % ...
ymax = yc + b.*(max(q)-xc);
ymin = yc - b.*(xc-min(q));

plot(q, s, "Linestyle", "none", "Marker", "+")
line([min(q); max(q)], [ymin; ymax])

enter image description here

3voto

Zizzencs Puntos 1358

Esto es fácil en R:

x <- rnorm(1000, 100, 10)  #Creates some data; this has is normal with mean 100 sd 10
qqnorm(x)         #qq
qqline(x)         #adds line

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X