簡體   English   中英

從五數匯總統計中刪除離群值

[英]Remove outlier from five-number summary statistics

如何強制fivenum function不將異常值作為我的最大值/最小值?

我希望能夠在我的箱線圖中看到上部和下部晶須數。

我的代碼:

boxplot(data$`Weight(g)`)
text(y=fivenum(data$`Weight(g)`),labels=fivenum(data$`Weight(g)`),x=1.25, title(main = "Weight(g)"))

在此處輸入圖像描述

boxplot返回一個命名列表,其中包含可用於刪除調用fivenum時的異常值的內容:

  • $out包括文字異常值。 使用setdiff(data$`Weight(g)`)可能很誘人,但由於R FAQ 7.31 (和浮點相等性),這可能容易出現問題,所以我建議不要這樣做; 反而,

  • $stats包括用於箱線圖本身的數字,沒有異常值。 我建議我們一起工作。

(順便說一句, title(.)通過副作用完成它的工作,並且它沒有被text(.)使用,我建議你移動那個電話。)

可重現的數據/代碼:

vec <- c(1, 10:20, 30)
bp <- boxplot(vec)
str(bp)
# List of 6
#  $ stats: num [1:5, 1] 10 12 15 18 20
#  $ n    : num 13
#  $ conf : num [1:2, 1] 12.4 17.6
#  $ out  : num [1:2] 1 30
#  $ group: num [1:2] 1 1
#  $ names: chr "1"

five <- fivenum(vec[ vec >= min(bp$stats) & vec <= max(bp$stats)])
text(x=1.25, y=five, labels=five)
title("Weight(g)")

帶有更正的 fivenum 標簽的基本箱線圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM