2016-08-03 25 views
0

Ich möchte Ausreißer in einem Datenrahmen mit Quantilen und 1,5 * IQR bestimmen. Ich habe die Boxplot-Funktion verwendet und die resultierenden Ausreißer mit denen verglichen, die mit Quantilen und iqr berechnet wurden.Weniger Ausreißer erkannt mit Boxplot

Ich bemerke einen Unterschied zwischen den beiden Methoden. Die Boxplot-Methode erkennt weniger Ausreißer als die Q1-1.5 * IQR-, Q3 + 1.5 * IQR-Berechnung. Ich habe versucht, die range in Boxplot auf 1,5 zu setzen, aber es erkennt immer noch weniger Ausreißer. Ist der Bereich die richtige Boxplot-Option oder gibt es eine andere Option, die ich einstellen muss?

Jede Hilfe wird sehr geschätzt.

x <- c(-8.4849, -8.4848, -8.8485, -8.4848, -8.4848, -8.4848, -8.7879, -8.4848, 
     -8.4849, -8.6061, -8.3838, -8.2424, -8.4849, -8.3636, -8.2424, -8.7273) 
qnt = quantile(x, probs=c(.25, .75)) 
iqt = 1.5 * IQR(x) 
x[x < (qnt[1] - iqt)] 
[1] -8.8485 -8.7879 -8.6061 -8.7273 
x[x > (qnt[2] + iqt)] 
[1] -8.2424 -8.3636 -8.2424 

boxplot(x, range = 1.5)$out 
[1] -8.8485 -8.7879 -8.2424 -8.2424 -8.7273 
+0

Siehe die Definition zu machen "Scharniere" auf der Hilfeseite "? boxplot.stats". Die Werte von 'Boxplot' sind nicht +/- die Quantile, sie sind +/- die Scharniere. – MrFlick

Antwort

2

Sowohl die quantile() als auch die IQR() Funktionen in R haben ein "type" Argument. Es gibt 9 (!) Arten von Quantilen. Die meisten von ihnen fügen dieser ursprünglich diskontinuierlichen Funktion etwas glattes Verhalten hinzu. Sie können die vollständigen Definitionen der Typen in der Dokumentation zu quantile() lesen.

Die genaue Definition von Quantil, die in Boxplot() verwendet wird, kann in der boxplot.stats() - Dokumentation gefunden werden und liegt nahe am Typ 2-Quantil.

Also, die Antwort ist, dass es keine Option ist, um boxplot() verhalten sich wie Quantil(), aber es ist eine Option Quantil() verhalten sich (fast) wie boxplot()