Я пытаюсь найти и заменить выбросы из нескольких числовых c столбцов. По моему скромному мнению, это не лучшая практика, но я пытаюсь разобраться в конкретных случаях использования. Отличный пример создания дополнительного столбца, который помечает строку как выброс, можно найти здесь , но он основан на одном столбце.
Мои данные выглядят следующим образом (для простоты я исключил столбцы с коэффициентами):
Row ID Value1 Value2
1 6 1
2 2 200
3 100 3
4 1 4
5 250 5
6 2 6
7 8 300
8 600 300
9 2 9
Я использовал функцию для замены выбросов на NA во всех цифрах c столбцов:
replaceOuts = function(df) {
map_if(df, is.numeric,
~ replace(.x, .x %in% boxplot.stats(.x)$out, NA)) %>%
bind_cols
}
test = replaceOuts(df)
Мой вопрос: как я могу заменить выбросы другим значением (например, среднее значение, медиана, ограниченное значение и т. Д. c.)? Любая помощь будет оценена!