在 plot() 中标记异常值

Label the outlier in plot()

我想绘制有 1 个离群值的数据。我想要这样一个图,其中标记了异常值的观察数。为此,我有数据:

res
           x            x            x            x            x 
 -0.39123009  -0.02907481   0.01003539   0.65495527 -93.81415653

我正在尝试:

plot(res, type = "o")
cv <- -50
abline(h = -50, lty = 2)

text(res, labels = ifelse(res > cv, names(res), ""), cex = 1, col = 4)  # add labels

出现散点图但没有离群值标记。如何根据观测号添加标签?

是不是因为重复了“x”?

这看起来像是数据结构的问题。我获取了您的数据并将其转换为多行而不是一行。这里你的数据转换和绘图代码:

#Data
df <- structure(list(V1 = c(-0.39123009, -0.02907481, 0.01003539, 0.65495527, 
-93.81415653)), class = "data.frame", row.names = c("x", "x.1", 
"x.2", "x.3", "x.4"))

代码:

#Plot
plot(df$V1,type="o")
cv <- -50
abline(h = -50, lty = 2)
text(df$V1,labels=ifelse(df$V1>cv,rownames(df),""),cex=1,col=4)

输出: