在 R 中,我想知道如何qqnorm
对其异常值进行编号(我在下面用红色圈出了这些值)。
这是一个例子。我做一个线性回归:
lm1 <- lm (y ~ x)
然后我绘制模型:
plot(lm1)
这产生了一个非常漂亮的 QQ 图。你可以看到它对异常值进行了编号(我用红色圈出了它)。
但是,如果我自己做qqnorm,异常值是没有编号的。我如何对这些异常值进行编号,就像在上图中一样?
qqnorm(y)
qqline(y)
在 R 中,我想知道如何qqnorm
对其异常值进行编号(我在下面用红色圈出了这些值)。
这是一个例子。我做一个线性回归:
lm1 <- lm (y ~ x)
然后我绘制模型:
plot(lm1)
这产生了一个非常漂亮的 QQ 图。你可以看到它对异常值进行了编号(我用红色圈出了它)。
但是,如果我自己做qqnorm,异常值是没有编号的。我如何对这些异常值进行编号,就像在上图中一样?
qqnorm(y)
qqline(y)
另一种非常简单的方法如下:
QQ_y=qqnorm(y)
identify(QQ_y)
代码将在这里暂停。将鼠标悬停在您的绘图上,单击假定的异常值或其他兴趣点,然后控制单击或退出以继续代码。
qqline(y)
学习看代码:
plot.lm
# snipping the rather long output top and bottom and showing hte relevant section
if (show[2L]) {
ylim <- range(rs, na.rm = TRUE)
ylim[2L] <- ylim[2L] + diff(ylim) * 0.075
dev.hold()
qq <- qqnorm(rs, main = main, ylab = ylab23, ylim = ylim,
...)
if (qqline)
qqline(rs, lty = 3, col = "gray50")
if (one.fig)
title(sub = sub.caption, ...)
mtext(getCaption(2), 3, 0.25, cex = cex.caption)
if (id.n > 0)
text.id(qq$x[show.rs], qq$y[show.rs], show.rs)
dev.flush()
根据@DWin 的回答,如果我添加以下行:
text(qq$x[44]-0.2, qq$y[44], 44)
然后它在图中添加了一个数字:
要正确执行此操作,您必须编写代码:
由于我仅使用 QQ 图进行探索性数据分析,因此 Roman Luštrik 的以下回答要容易得多:
plot(lm1, which = 2)