[英]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.