So entfernen Sie Ausreißer aus einem Dataset
Habe ich einige multivariate Daten von beauty-vs-Alter. Das Alter von 20-40 in Abständen von 2 (20, 22, 24....40), und für jeden Datensatz der Daten, wie Sie gegeben werden eine Zeit und ein beauty-rating von 1-5. Wenn ich von boxplots dieser Daten (Alter über der X-Achse, beauty-Bewertungen auf der Y-Achse), es gibt einige Ausreißer eingezeichnet, die außerhalb des whiskers jeder box.
Ich möchte zu löschen, diese Ausreißer aus den Daten-frame selbst, aber ich bin mir nicht sicher, wie R berechnet Ausreißer für seine box-plots. Unten ist ein Beispiel wie meine Daten Aussehen könnte.
InformationsquelleAutor der Frage Dan Q | 2011-01-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, Sie sollten etwas wie diese an das dataset. Ersetzen Sie nicht & sparen Sie, oder Sie werden Ihre Daten zerstören! Und, btw, man sollte (fast) nie entfernen von Ausreißern aus den Daten:
Sehen Sie es in Aktion:
Und wieder einmal, sollten Sie nie tun dies auf Ihre eigenen, Ausreißer werden einfach sein soll! =)
EDIT: ich Hinzugefügt
na.rm = TRUE
als Standard.EDIT2: Entfernt
quantile
Funktion Hinzugefügt subscripting, damit die Funktion schneller! =)InformationsquelleAutor der Antwort aL3xa
Niemand gepostet hat, die einfachste Antwort:
Siehe auch: http://www.r-statistics.com/2011/01/how-to-label-all-the-outliers-in-a-boxplot/
InformationsquelleAutor der Antwort J. Win.
Verwenden
outline = FALSE
als eine option, wenn Sie den boxplot (Lesen hilft!).InformationsquelleAutor der Antwort Prasad Chalasani
Der boxplot-Funktion gibt die Werte verwendet, um zu tun, das zeichnen (das ist dann auch tatsächlich getan, indem Sie bxp():
Ich habe absichtlich keine Antwort auf die konkrete Frage, denn ich halte es für statistische Kunstfehler zu entfernen "Ausreißer". Ich halte es für akzeptabel Praxis nicht zeichnen Sie in einem boxplot, aber Sie zu entfernen ist eine systematische und ungerechtfertigte mangeln der Beobachtungsdaten aufzeichnen.
InformationsquelleAutor der Antwort 42-
Ich finde diese sehr leicht zu entfernen Ausreißer. In dem obigen Beispiel bin ich nur das extrahieren von 2% - Perzentil 98% - Perzentil der Werte des Attributs.
InformationsquelleAutor der Antwort Gaurav Khare
Ich sah für Pakete mit Bezug zum entfernen von Ausreißern, und fand das Paket (überraschend genannte "Ausreißer"!): https://cran.r-project.org/web/packages/outliers/outliers.pdf
wenn Sie durch Sie gehen, sehen Sie verschiedene Möglichkeiten, das entfernen von Ausreißern und unter Ihnen fand ich
rm.outlier
am bequemsten zu benutzen ist und wie heißt es im obigen link:"Wenn die Ausreißer erkannt und bestätigt durch statistische tests mit dieser Funktion können Sie entfernen oder ersetzen Sie durch
sample mean "oder " median" und auch hier ist die Nutzung zum Teil aus der gleichen Quelle:
"Nutzung
Argumente
x einen Datensatz, der meist mit einem Vektor. Wenn argument ein dataframe, dann ein Ausreißer ist
entfernt von jeder Spalte von sapply. Das gleiche Verhalten angewendet wird, die durch anwenden
wenn die matrix gegeben ist.
füllen Wenn auf TRUE gesetzt, den median oder den Mittelwert gelegt, statt der Ausreißer. Ansonsten, die
Ausreißer(N) ist/sind einfach nur entfernt werden.
median Wenn auf TRUE gesetzt, den median anstelle des Mittelwerts in Ausreißer-Ersatz.
Umgekehrt, wenn auf TRUE gesetzt, gibt entgegengesetzten Wert (wenn größten Wert hat die maximale Differenz
aus dem Mittelwert, es gibt kleinste und Umgekehrt)
"
InformationsquelleAutor der Antwort Peyman
Hinzufügen @sefarkas' Vorschlag und mit quantile als cut-offs, man könnte erkunden Sie die folgende option:
Dadurch entfernen Sie die Punkte über der 99. quantile. Sorge sollte genommen werden, wie das, was aL3Xa sagte über das halten von Ausreißern. Es sollte nur entfernt werden, für die Anreise eine alternative konservative Sicht auf die Daten.
InformationsquelleAutor der Antwort Earnest_learner
Wäre das nicht:
diese Aufgabe ganz leicht?
InformationsquelleAutor der Antwort d8aninja