>>>>> "AndyL" == andy liaw <[EMAIL PROTECTED]>
>>>>>     on Fri, 15 Aug 2003 04:08:59 +0200 (MET DST) writes:

    AndyL> Here's one possible fix (may not be very efficient).
    AndyL> Change lines 82-83 in $R_HOME/src/base/R/plot.lm.R to the following:

    AndyL> if (id.n > 0) {
    AndyL>  qqx <- rep(NA, n)
    AndyL>  qqy <- rep(NA, n)
    AndyL>  qqx[!is.na(rs)] <- qq$x
    AndyL>  qqy[!is.na(rs)] <- qq$y
    AndyL>  text.id(qqx[show.rs], qqy[show.rs], show.rs, adj.x = TRUE)
    AndyL> }

Thank you, Andy.

I digged a bit further, however.
I'd argue the bug is in  qqnorm(): It shouldn't drop NA's in its
result, list(x= ., y=.).

R-devel will contain a fixed  qqnorm.default() function
which will also solve this plot.lm() behavior.

Martin Maechler <[EMAIL PROTECTED]>     http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO C16    Leonhardstr. 27
ETH (Federal Inst. Technology)  8092 Zurich     SWITZERLAND
phone: x-41-1-632-3408          fax: ...-1228                   <><

    >> -----Original Message-----
    >> From: [EMAIL PROTECTED] 
    >> Sent: Thursday, August 14, 2003 6:38 PM
    >> To: [EMAIL PROTECTED]
    >> Cc: [EMAIL PROTECTED]
    >> Subject: [Rd] plot.lm mislabels points with na.exclude (PR#3750)
    >> 
    >> 
    >> R 1.7.1 on Windows XP
    >> 
    >> The "normal Q-Q plot" produced by plot.lm() mislabels points 
    >> when the model is fitted using na.action=na.exclude.  Example:
    >> 
    >> x <- 1:50
    >> y <- x + rnorm(50)
    >> y[c(5,10,15)] <- NA   # insert some NA's
    >> y[40] <- 50  # add an outlier
    >> plot(lm(y ~ x, na.action=na.omit))  # outlier correctly 
    >> labeled in all 
    >> # four plots
    >> plot(lm(y ~ x, na.action=na.exclude)) # labels attached to 
    >> wrong points
    >> # in the QQ plot (only)
    >> 
    >> 
    >> Rich Raubertas
    >> Biometrics Research
    >> Merck & Co.

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Reply via email to