Удаление выбросов с помощью boxplot.stats в данных

Я пытаюсь удалить выбросы, используя IQR (boxplot.stats) в кадре данных. Но я получаю следующую ошибку. Проверка выбросов должна происходить в каждой переменной, и, если одна переменная является выбросом, удалить всю строку (все переменные).

'data.frame':   214 obs. of  7 variables:
 $ V2: num  0.115 0.112 0.106 0.104 0.108 0.116 0.127 0.117 0.115 0.114 ...
 $ V3: num  0.144 0.175 0.179 0.171 0.167 0.174 0.152 0.178 0.159 0.178 ...
 $ V4: num  0.152 0.203 0.221 0.216 0.22 0.205 0.214 0.182 0.211 0.195 ...
 $ V5: num  0.191 0.171 0.161 0.172 0.167 0.171 0.156 0.174 0.173 0.171 ...
 $ V6: num  0.173 0.165 0.156 0.164 0.167 0.163 0.144 0.162 0.165 0.164 ...
 $ V7: num  0.146 0.116 0.116 0.116 0.113 0.116 0.146 0.126 0.117 0.121 ...
 $ V8: num  0.078 0.057 0.061 0.056 0.057 0.054 0.061 0.061 0.06 0.059 ...
 > Outlier = boxplot.stats(SizePro)
 Error in `[.data.frame`(x, order(x, na.last = na.last, decreasing = 
 decreasing)) : 
 undefined columns selected

1 ответ

Решение

boxplot.stats() способен рассчитывать только один блокпост за раз, поэтому вам нужно зациклить его на вашем фрейме данных:

apply(df, 2, boxplot.stats)
Другие вопросы по тегам