Вы можете рассчитать межквартильный диапазон (IQR) и преобразовать все, что больше или меньше, чем в 1,5 раза, в NA.
q_col <- quantile(df$col, probs= c(.25, .75), na.rm = T)
iqr_df <- IQR(df$col, na.rm = T)
df$col_new <- df$col
df$col_new[(df$col < q_col - 1.5*(iqr_df)) | (df$col > q_col + 1.5*(iqr_df))] <- NA
Если простая реализация этого не работает, попробуйте выполнить преобразование журнала, а затем выполните описанные выше шаги IQR:
df$col <- log10(df$col)
(... repeat the steps above)