首页 > 解决方案 > 在 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 ”的重复吗?

标签: rplotoutliers

解决方案


由于数据结构,它看起来像一个问题。我把你的数据转换成多行而不是一行。在这里您的数据转换和绘图代码:

#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)

输出:

在此处输入图像描述


推荐阅读