So entfernen sie ausreißer aus mehreren spalten in r
Oft möchten Sie möglicherweise Ausreißer aus mehreren Spalten gleichzeitig in R entfernen.
Eine übliche Art, eine Beobachtung als Ausreißer zu definieren, besteht darin, dass sie das 1,5-fache des Interquartilbereichs über dem dritten Quartil (Q3) oder das 1,5-fache des Interquartilbereichs unter dem ersten Quartil (Q1) beträgt.
Mit dieser Definition können wir mit den folgenden Schritten eine einfache Funktion zur Identifizierung von Ausreißern erstellen und diese Funktion dann auf mehrere Spalten in einem R-Datenrahmen anwenden.
Schritt 1: Erstellen Sie einen Datenrahmen.
Beginnen wir mit der Erstellung eines Datenrahmens in R:
df <- data.frame(index=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), var1=c(4, 4, 5, 4, 3, 2, 8, 9, 4, 5), var2=c(1, 2, 4, 4, 6, 9, 7, 8, 5, 29), var3=c(9, 9, 9, 5, 5, 3, 4, 5, 11, 34))
Schritt 2: Definieren Sie die Ausreißerfunktion.
Als nächstes definieren wir eine Funktion, die Ausreißer identifizieren kann, und eine Funktion, die dann Ausreißer entfernen kann:
outliers <- function (x) { Q1 <- quantile(x, probs =.25) Q3 <- quantile(x, probs =.75) iqr = Q3-Q1 upper_limit = Q3 + (iqr*1.5) lower_limit = Q1 - (iqr*1.5) x > upper_limit | x < lower_limit } remove_outliers <- function (df, cols = names (df)) { for (col in cols) { df <- df[!outliers(df[[col]]),] } df }
Schritt 3: Wenden Sie die Ausreißerfunktion auf den Datenrahmen an.
Abschließend wenden wir diese Funktion auf mehrere Spalten des Datenrahmens an, um Ausreißer zu entfernen:
remove_outliers(df, c('var1', 'var2', 'var3')) index var1 var2 var3 1 1 4 1 9 2 2 4 2 9 3 3 5 4 9 4 4 4 4 5 5 5 3 6 5 9 9 4 5 11
Weitere R-Tutorials finden Sie hier .