ОК, вы должны применить что-то подобное к вашему набору данных.Не заменяйте и не сохраняйте, иначе вы уничтожите свои данные!И, между прочим, вы (почти) никогда не должны удалять выбросы из своих данных:
remove_outliers <- function(x, na.rm = TRUE, ...) {
qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
H <- 1.5 * IQR(x, na.rm = na.rm)
y <- x
y[x < (qnt[1] - H)] <- NA
y[x > (qnt[2] + H)] <- NA
y
}
Чтобы увидеть это в действии:
set.seed(1)
x <- rnorm(100)
x <- c(-10, x, 10)
y <- remove_outliers(x)
## png()
par(mfrow = c(1, 2))
boxplot(x)
boxplot(y)
## dev.off()
И снова, вы никогда не должны делать это наваши собственные, выбросы должны быть!=)
РЕДАКТИРОВАТЬ: Я добавил na.rm = TRUE
по умолчанию.
EDIT2: Удалена функция quantile
, добавлена подписка, следовательно, сделалфункционировать быстрее!=)