>>>>> "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