R'deki birden fazla sütundan aykırı değerler nasıl kaldırılır
Genellikle R’de birden fazla sütundaki aykırı değerleri aynı anda kaldırmak isteyebilirsiniz.
Bir gözlemi aykırı değer olarak tanımlamanın yaygın bir yolu, üçüncü çeyreğin (Q3) çeyrekler arası aralığının 1,5 katı veya birinci çeyreğin (Q1) altındaki çeyrekler arası aralığın 1,5 katı olmasıdır.
Bu tanımı kullanarak, aykırı değerleri tanımlamak için basit bir işlev oluşturmak ve ardından bu işlevi bir R veri çerçevesindeki birden çok sütuna uygulamak için aşağıdaki adımları kullanabiliriz.
Adım 1: Bir veri çerçevesi oluşturun.
R’de bir veri çerçevesi oluşturarak başlayalım:
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))
Adım 2: Aykırı değer fonksiyonunu tanımlayın.
Sonra, aykırı değerleri tanımlayabilen ve daha sonra aykırı değerleri kaldırabilen bir işlev tanımlayalım:
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 }
Adım 3: Aykırı değer fonksiyonunu veri çerçevesine uygulayın.
Son olarak, aykırı değerleri kaldırmak için bu işlevi veri çerçevesinin birkaç sütununa uygulayalım:
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
Daha fazla R eğitimini burada bulabilirsiniz.