如果有办法从箱形图中提取异常值,你能解释一下吗?我绘制了一个箱形图,我想只提取异常值。
以下是方框图的代码。
# melting down
require(reshape)
melt_nx <- melt(nx, id.vars = c("x", "y"))
boxplot(data = melt_nx, main = "NX", value ~ variable, las = 2,
par(mar = c(15, 5, 4, 2) + 0.1),
names = c("We1", "We2", "we3"))
是否可以从方框图中仅提取异常值?
答案 0 :(得分:5)
boxplot函数返回一个列表,其中一个节点名称为“out”。这些是超越“胡须”的价值观。我不知道在参数列表中执行par
但是如果你想要这些特定的值,那么使用它:
vals <- boxplot(data = melt_nx, main = "NX", value ~ variable, las = 2,
names = c("We1", "We2", "we3"))
vals$out
并阅读所有这些帮助页面:
?boxplot
?boxplot.stats
?bxp
?fivenum
答案 1 :(得分:0)
我知道这已经得到了回答,但对我来说,还有另一种方法是使用 car 包中的 Boxplot 方法。注意Boxplot函数调用中的大写字母B.
这是为我做的代码,它会返回异常值的行号,然后您可以在数据帧中使用这些行来过滤或提取等等...
outliers<-Boxplot(x~y, data=df, id.method="y")
请注意,提取的值的类型为字符。然后要排除它们,你可以做类似的事情:
df2 <- df[-as.numeric(outliers),]
希望这有点帮助