Skip to content

qqplot

2 messages · Peter Flom, Peter Ehlers

#
David Winsemius <dwinsemius at comcast.net> wrote
Suppose you have the following

x <- rnorm(500)
y <- 500*(x + runif(500, 0,1))
qqplot(x,y)


Then an abline(0,1) will not be useful; it will be an almost horizontal line. But

m1 <- lm(y~x)
abline(coef(m1))


does the trick.

Peter



Peter L. Flom, PhD
Statistical Consultant
Website: www DOT peterflomconsulting DOT com
Writing; http://www.associatedcontent.com/user/582880/peter_flom.html
Twitter:   @peterflom
#
Peter Flom wrote:
That's not what qqline() does and for good reason - it treats
x and y asymmetrically.

But qqline() is a very simple function, using the quartiles
as also suggested by John. Here's a modified version that
should work for Carol:

qqline2 <- function (x, y, ...)
{
     y <- quantile(y[!is.na(y)], c(0.25, 0.75))
     x <- quantile(x[!is.na(x)], c(0.25, 0.75))
     slope <- diff(y)/diff(x)
     int <- y[1L] - slope * x[1L]
     abline(int, slope, ...)
}

I've just replaced the line using Normal quantiles with
the quantiles of x (and omitted the datax option).

  -Peter Ehlers