在R中,我想知道如何让qqnorm
对其异常值进行编号(我在下面以红色圈出这些)。
这是一个例子。我做了线性回归:
lm1 <- lm (y ~ x)
然后我绘制模型:
plot(lm1)
这会产生一个非常好的QQ情节。你可以看到它对异常值进行了编号(我用红色圈出了它)。
但是,如果我自己做qqnorm,那么异常值就没有编号。我如何对这些异常值进行编号,就像上图一样?
qqnorm(y)
qqline(y)
答案 0 :(得分:6)
另一种非常简单的方法如下:
QQ_y=qqnorm(y)
identify(QQ_y)
代码会暂停。将鼠标悬停在您的绘图上,单击假定的异常值或其他感兴趣的点,然后控制单击或转义以继续编码。
qqline(y)
答案 1 :(得分:4)
学习查看代码:
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()
答案 2 :(得分:2)
基于@DWin的回答,如果我添加以下行:
text(qq$x[44]-0.2, qq$y[44], 44)
然后它添加了一个数字:
要正确执行此操作,您必须将代码写入:
由于我只使用QQ图进行探索性数据分析,因此RomanLuštrik的以下答案要容易得多:
plot(lm1, which = 2)