簡體   English   中英

R-從數據幀打印異常值

[英]R - print outlier from a datafram

我想從數據框中提取離群值。 就像1000個數據點中的10個一樣,它們可能是異常值,或者不在95%置信區間內。 有一些方法可以找到與樣本均值之間差異最大的值。

> a <- c(1,3,2,4,5,2,3,90,78,56,78,23,345)
> require("outliers")
> outlier(a)
[1] 345

我不想從數據框或箱線圖中刪除異常值。 我想打印或子集化它們。

有任何想法嗎?

給定數據:

a <- c(1,3,2,4,5,2,3,90,78,56,78,23,345)

如果要獲得不在95%置信度內的值。 您必須記住,信心是“真實均值”概率的概念。

在這種情況下:

> mean(a)
[1] 53.07692

第一個要回答的問題:53是您最可能期望的“正常”值嗎? 我為什么要問它? 因為如果要打印不在95%之內的值,請執行以下操作:

a[a > mean(a) + qt(0.975, df = length(a) - 1) * mean(a) / sqrt(length(a)) |
    a < mean(a) - qt(0.975, df = length(a) - 1) * mean(a) / sqrt(length(a))]

[1]   1   3   2   4   5   2   3  90 345

在您的情況下,您可能會得到比預期更多的收益。

暫無
暫無

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

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