使用 boxplot.stats 函数查找向量的最大值

Find the highest value of a vector with boxplot.stats function

我对箱线图有疑问。我正在使用一个名为 get_box_values() 的函数,但我不明白为什么它可以找到我的向量的最大值。

require(stats)

get_box_values <- function(x) {
  boxplot.stats(x)$stats %>% t() %>% cbind(round(mean(x),1)) %>% cbind(boxplot.stats(x)$n) %>% as.data.frame() %>% 
    setNames(c("low", "q1", "median", "q3", "high", "mean", "obs"))
}

# With myvec, it's ok
myvec <- c(5,10,20,100,50)
get_box_values(myvec)

# With myvec2, it doesn't work for the highest value (154401)
myvec2 <- c(26195,25086,154401,35287,13500)
get_box_values(myvec2)

那是因为 myvec2 中的 154401 被认为是异常值。

boxplot.stats(myvec2)$out
#[1] 154401