Я хотел бы заменить выбросы в каждом столбце данных на NA.
Если, например, мы определяем выбросы как любое значение, превышающее 3 стандартных отклонения от среднего, я могу достичь этого для переменной с помощью приведенного ниже кода.
Вместо того, чтобы указывать каждый столбец отдельно, я бы хотел выполнить одну и ту же операцию для всех столбцов df
за один вызов. Любые указатели о том, как это сделать ?!
Спасибо!
library(dplyr)
data("iris")
df <- iris %>%
select(Sepal.Length, Sepal.Width, Petal.Length)%>%
head(10)
# add a clear outlier to each variable
df[1, 1:3] = 99
# replace values above 3 SD's with NA
df_cleaned <- df %>%
mutate(Sepal.Length = replace(Sepal.Length, Sepal.Length > (abs(3 * sd(df$Sepal.Length, na.rm = TRUE))), NA))